From: Luke D. <cod...@ho...> - 2002-06-18 09:16:05
|
The problem is in shared.cc:53 (shared_name): *(strchr(buf2, '\\')) = '\0'; I suggest that all calls to strchr() should be checked for returning a NULL pointer. Earnie? There are also two unchecked calls to strrchr() in msys.cc. The real problem, though is that these functions assume a lot about the path to the MSYS DLL. The first step in __AbsDllPath() to remove the filename part should always work (though I am not 100% sure). The code to remove the "c:\" part is a suspicious: strcpy(buf2, &buf2[3]); Firstly, strcpy() is undefined for overlapping memory blocks. Also, I think the string could be a UNC path like "\\server\foo\bin", and according to the docs: "Windows NT/2000/XP: The path can have the prefix "\\?\", depending on how the module was loaded." But this is probably not relevant because I think that prefix is for Unicode APIs only, and it disables the MAX_PATH length limitation. Luke Dunstan ----- Original Message ----- From: "terry" <te...@nc...> To: <min...@li...> Sent: Tuesday, June 18, 2002 7:41 AM Subject: [Mingw-msys] MSYS problem with "non-standard" installation > I know this is not the standard installation, but until the lastest > release > (MSYS-1.0.8-i686-2002.06.16-1.exe), it worked. I copy the files from > the > c:\msys\1.0\bin directory to c:\msys_1.0.8_bin. With this setup, C:\ > is mounted on /; c:\etc on /etc; c:\home on /home; etc. The latest > release works fine when run from c:\msys\1.0\bin but gives the following > error when run from c:\msys_1.0.8_bin: > > 0 [main] us 0 open_stackdumpfile: Dumping stack trace to > us.stackdump > > The us.stackdump file contains: > > Exception: STATUS_ACCESS_VIOLATION at eip=710587DF > eax=00000000 ebx=00000000 ecx=00000000 edx=00000000 esi=0022FC7C > edi=710589B5 > ebp=0022FC40 esp=0022FC28 program=us > cs=001B ds=0023 es=0023 fs=0038 gs=0000 ss=0023 > Stack trace: > Frame Function Args > 0022FC40 710587DF (710589B5, 0022FC7C, 0000B804, 0A000000) > 0022FD90 71058A79 (0022FEA0, 00000000, 001307D8, 00007200) > 0022FE70 71004165 (00000000, 00000000, 001307D8, 00000000) > 0022FF40 71004741 (00401BB0, 001307D8, 810CA240, 80065530) > 0022FF60 71004DBC (00000000, 00000000, 00000000, 810CA270) > 0022FF90 00405E60 (00401BB0, 810CA0E0, FFFFFFFF, 8043071C) > 0022FFC0 0040103D (001307D8, 77F82BEA, 7FFDF000, 00000000) > 0022FFF0 77E8D326 (00401000, 00000000, 000000C8, 00000100) > End of stack trace > > > Terry |