Mailing-List: contact cygwin-apps-help AT cygwin DOT com; run by ezmlm Sender: cygwin-apps-owner AT cygwin DOT com List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps AT cygwin DOT com Delivered-To: mailing list cygwin-apps AT cygwin DOT com content-class: urn:content-classes:message Subject: RE: Patch for Setup.exe problem and for mklink2.cc MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Fri, 29 Mar 2002 20:25:08 +1100 Message-ID: X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3 X-MS-Has-Attach: X-MS-TNEF-Correlator: From: "Robert Collins" To: "Ton van Overbeek" , , Cc: Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id g2T9PJu20717 > -----Original Message----- > From: Robert Collins > Sent: Thursday, March 28, 2002 1:11 AM > To: Ton van Overbeek; cygwin-apps AT cygwin DOT com; > cygwin-patches AT cygwin DOT com > Cc: jonas_eriksson AT home DOT se > Subject: RE: Patch for Setup.exe problem and for mklink2.cc > > > > > > -----Original Message----- > > From: Ton van Overbeek [mailto:tvoverbe AT cistron DOT nl] > > Sent: Thursday, March 28, 2002 1:03 AM > > To: cygwin-apps AT cygwin DOT com; cygwin-patches AT cygwin DOT com > > Cc: jonas_eriksson AT home DOT se > > Subject: Patch for Setup.exe problem and for mklink2.cc > > > > > > Found the problem causing the segment violation and probably > > causing Jonas Eriksson's problem. It is a typical case of > > 'off by 1'. In PickView::set_headers the loop filling the > > window header does one iteration too much, resulting in a > > call to DoInsertItem with a NULL string pointer and hence a > > crash following. While debugging this I could not compile the > > new mklink2.cc ( the > > c++ version of the original mklink2.c). It seems three & (address of > > c++ operator) > > have disappeared in the transition. Putting them back made > > the compiler happy. Is this OK Robert ? > > I'll check the off-by-one fix in tomorrow, as I'm off to bed now. Actually, this is not an off-by-one error. It's an invalid data error - the loop is meant to go from 0 to == last_col, where last col is meant to be equal to the greatest column number. The first set of column details had last_col set incorrectly. Thanks for pinpointing this though. Rob