瀏覽代碼

+ check bounds for SymIndex of SYMTAB_DATA symbols

Nikolay Nikolov 1 年之前
父節點
當前提交
e569863a1a
共有 1 個文件被更改,包括 5 次插入0 次删除
  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');