Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Server-Uuid: 28431ec2-fd89-11d2-a089-00a0c9f498e6 Message-ID: <0DB4E7930F5CD411AC93009027EE744C09345B47@ddcexch.ddcnet.detroitdiesel.com> From: "Kilroy, David" To: Cygwin Subject: RE: setup.exe local install with 2.218.2.4 fails, 2.78.2.15 works Date: Tue, 14 May 2002 08:50:32 -0400 MIME-Version: 1.0 X-WSS-ID: 10FFD85B285338-01-01 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 7bit > It seems that all of these bug reports are on Win2K and XP Pro. > Has anyone successfully tested the recent setup.exe releases > (since the MD5 updates) on either of these platforms? I can confirm that setup 2.218.2.4 works on my Win2k SP2 box. Both install from internet and install from local directory. I did get the stack and parse errors in previous md5 setup snapshots. In 2.218.2.4 you will also see a crash if you have a file in the local cache directory with a 10 letter filename _and_ the string 'setup.ini' in the full path/filename (Unfortunate if you edit setup.ini with emacs). This may or may not have been fixed in .5 and .6; if it hasn't, see description below. Dave. line nos from 2.218.2.4 src posted to setup_snapshots. ini.cc: find_routine line 68: if (!strstr (path, "setup.ini")) return; ... line 85: /* Attempt to unescape the string */ path[strlen(path) -10] = '\0'; String mirror = rfc1738_unescape_part (path); tries to put null terminator at the last separator. If at this point you are at the root of the cache, and you are looking at setup.ini, the byte _before_ path is touched (which may affect further recursion of directories, see find.cc). The file is then parsed. Packages added to the mirror 'setup.ini. If we are looking at setup.ini in a cached mirror directory, everything works fine. If strlen(path) is 10 at this point (as with the file setup.ini~) the null is placed at the first char of path, causing the rfc1738 code to segfault (passing it a null string). We attempt to process other files that match and do not cause this fault. If it is indeed a setup backup, the package entries are added to the database under a bad? mirror name (hence files will not be found if that package is selected?). Possible fix off the top of my head (which matches files _only_ called setup.ini): line 68: if(!strcmp(path + strlen(path)- 9, "setup.ini")) -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/