[PATCH] setup.exe SEGV on WinXP/Pro

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Fri Aug 9 15:33:00 GMT 2013

On Fri, Aug 09, 2013 at 11:07:26AM +0200, Corinna Vinschen wrote:
>On Aug  8 20:34, Achim Gratz wrote:
>> I've been having sporadic SEGV on WinXP/Pro just after the MD5 of a
>> package was checked that used to clear up after a reboot.  Today, with a
>> freshly built setup.exe this failure was now entirely reproduceable.
>> I've fixed it by reimplementing the string formatting for the MD5 digest
>> using C++ stream functions.
>> >From 677e2e89d1e4046c967dd1759ac53116f6643bd9 Mon Sep 17 00:00:00 2001
>> From: Achim Gratz <Stromeko@Stromeko.DE>
>> Date: Thu, 8 Aug 2013 20:23:31 +0200
>> Subject: [PATCH] fix SEGV on WinXP/Pro
>>     * csu_util/MD5Sum.cc (MD5Sum::operator std::string() const):
>>     Reimplement using stringstream to avoid a SEGV on WinXP/Pro.
>Patch applied.
>> -  return std::string(hexdigest);
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>I'm wondering if that was the problem.  This expression constructs a
>std:string and then immediately destructs it since the scope is limited
>to the end of the function (which the return statement is all about).
>Reading the value of this object in the parent function is basically
>luck, isn't it?

Sheesh.  Yes, that looks like the problem.  But doesn't the new code do
pretty much the same thing?

+  std::ostringstream hexdigest;
+  return hexdigest.str();


More information about the Cygwin-apps mailing list