Преглед на файлове

* prevent crash when reading unknown section

git-svn-id: trunk@4006 -
peter преди 19 години
родител
ревизия
89e2f8b5df
променени са 1 файла, в които са добавени 11 реда и са изтрити 8 реда
  1. 11 8
      compiler/ogcoff.pas

+ 11 - 8
compiler/ogcoff.pas

@@ -1685,14 +1685,17 @@ const pemagic : array[0..3] of byte = (
                     if sym.section=0 then
                       InputError('Failed reading coff file, illegal section');
                     objsec:=GetSection(sym.section);
-                    if sym.value>=objsec.mempos then
-                      address:=sym.value-objsec.mempos;
-                    objsym:=CreateSymbol(strname);
-                    objsym.bind:=AB_LOCAL;
-                    objsym.typ:=AT_FUNCTION;
-                    objsym.objsection:=objsec;
-                    objsym.offset:=address;
-                    objsym.size:=size;
+                    if assigned(objsec) then
+                      begin
+                        if sym.value>=objsec.mempos then
+                          address:=sym.value-objsec.mempos;
+                        objsym:=CreateSymbol(strname);
+                        objsym.bind:=AB_LOCAL;
+                        objsym.typ:=AT_FUNCTION;
+                        objsym.objsection:=objsec;
+                        objsym.offset:=address;
+                        objsym.size:=size;
+                      end;
                   end;
                 COFF_SYM_FUNCTION,
                 COFF_SYM_FILE :