Browse Source

+ check bounds for SymIndex of SYMTAB_DATA symbols

Nikolay Nikolov 1 year ago
parent
commit
e569863a1a
1 changed files with 5 additions and 0 deletions
  1. 5 0
      compiler/ogwasm.pas

+ 5 - 0
compiler/ogwasm.pas

@@ -2422,6 +2422,11 @@ implementation
                                     InputError('Error reading the data segment index of a SYMTAB_DATA symbol');
                                     exit;
                                   end;
+                                if SymIndex>high(DataSegments) then
+                                  begin
+                                    InputError('Data segment index of SYMTAB_DATA symbol out of bounds');
+                                    exit;
+                                  end;
                                 if not ReadUleb32(SymOffset) then
                                   begin
                                     InputError('Error reading the offset of a SYMTAB_DATA symbol');