Ignore:
Timestamp:
Aug 22, 1999, 4:25:13 PM (26 years ago)
Author:
sandervl
Message:

PE loader bugfixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/winimage.cpp

    r612 r622  
    1 /* $Id: winimage.cpp,v 1.12 1999-08-21 19:47:30 sandervl Exp $ */
     1/* $Id: winimage.cpp,v 1.13 1999-08-22 14:24:35 sandervl Exp $ */
    22
    33/*
     
    6262    imageVirtBase(-1), realBaseAddress(0), imageVirtEnd(0),
    6363    nrNameExports(0), nrOrdExports(0), nameexports(NULL), ordexports(NULL),
    64     szFileName(NULL), NameTable(NULL), Win32Table(NULL), fullpath(NULL),
     64    NameTable(NULL), Win32Table(NULL), fullpath(NULL),
    6565    tlsAddress(0), tlsIndexAddr(0), tlsInitSize(0), tlsTotalSize(0), tlsCallBackAddr(0), tlsIndex(-1),
    6666    pResSection(NULL), pResDir(NULL), winres(NULL), VersionId(-1)
     
    7575    foutInit = TRUE;
    7676  }
    77   this->szFileName = szFileName;
     77  strcpy(this->szFileName, szFileName);
    7878
    7979  strcpy(szModule, StripPath(szFileName));
     
    9898    imageVirtBase(-1), realBaseAddress(0), imageVirtEnd(0),
    9999    nrNameExports(0), nrOrdExports(0), nameexports(NULL), ordexports(NULL),
    100     szFileName(NULL), NameTable(NULL), Win32Table(NULL), fullpath(NULL),
     100    NameTable(NULL), Win32Table(NULL), fullpath(NULL),
    101101    tlsAddress(0), tlsIndexAddr(0), tlsInitSize(0), tlsTotalSize(0), tlsCallBackAddr(0), tlsIndex(-1),
    102102    pResSection(NULL), pResDir(NULL), winres(NULL)
     
    106106#endif
    107107  OS2ImageInit(hinstance, NameTableId, Win32TableId);
     108
     109  szFileName[0] = 0;
    108110
    109111  char *name = OS2GetDllName(hinstance);
     
    422424        return(FALSE);
    423425  }
    424   entryPoint = realBaseAddress + oh.AddressOfEntryPoint;
     426  if(oh.AddressOfEntryPoint) {
     427        entryPoint = realBaseAddress + oh.AddressOfEntryPoint;
     428  }
     429  else {
     430        fout << "EntryPoint == NULL" << endl;
     431        entryPoint = NULL;
     432  }
    425433
    426434  if(tlsDir != NULL) {
Note: See TracChangeset for help on using the changeset viewer.