From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 79975 invoked by alias); 1 Mar 2017 09:19:20 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 79960 invoked by uid 89); 1 Mar 2017 09:19:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-101.6 required=5.0 tests=BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=kosenko, Kosenko, kolya, Kolya X-HELO: drew.franken.de Received: from mail-n.franken.de (HELO drew.franken.de) (193.175.24.27) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 01 Mar 2017 09:19:17 +0000 Received: from aqua.hirmke.de (aquarius.franken.de [193.175.24.89]) (Authenticated sender: aquarius) by mail-n.franken.de (Postfix) with ESMTPSA id 66771721E2822 for ; Wed, 1 Mar 2017 10:19:14 +0100 (CET) Received: from calimero.vinschen.de (calimero.vinschen.de [192.168.129.6]) by aqua.hirmke.de (Postfix) with ESMTP id AC6C85E0463 for ; Wed, 1 Mar 2017 10:19:13 +0100 (CET) Received: by calimero.vinschen.de (Postfix, from userid 500) id 91DF4A80320; Wed, 1 Mar 2017 10:19:13 +0100 (CET) Date: Wed, 01 Mar 2017 09:19:00 -0000 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: All wx apps crash because of nl_langinfo(CODESET) returns garbage Message-ID: <20170301091913.GC13542@calimero.vinschen.de> Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="kVXhAStRUZ/+rrGn" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.7.1 (2016-10-04) X-SW-Source: 2017-03/txt/msg00001.txt.bz2 --kVXhAStRUZ/+rrGn Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-length: 990 On Mar 1 07:56, Kolya Kosenko wrote: > All wxWidgets-based application crash because call > nl_langinfo(CODESET) returns sometimes garbage during wxWidgets > initialization at > /usr/src/debug/wxWidgets3.0-3.0.2.0-2/src/common/intl.cpp:811: > char *oldLocale =3D strdup(setlocale(LC_CTYPE, NULL)); > setlocale(LC_CTYPE, ""); > const char *alang =3D nl_langinfo(CODESET); > setlocale(LC_CTYPE, oldLocale); > free(oldLocale); > alang variable is not null and garbage here! It causes wxWidgets > assertion failure at wxString::FromAscii(). At first sight this looks like a bug to me. The information returned by nl_langinfo is only guaranteed to be stable if you don't call setlocale or nl_langinfo again. If you need the result of nl_langinfo(CODESET) even after calling setlocale again, you have to strdup it. Corinna --=20 Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat --kVXhAStRUZ/+rrGn Content-Type: application/pgp-signature; name="signature.asc" Content-length: 819 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJYtpIRAAoJEPU2Bp2uRE+gWcsP/1AZ4Tx9hQAOiWzAHtdYPn6/ ti004BU5V/2ezGANvPQJeail58V95a9o+GbgcYNNaOPQZx/cJsGOuaM7UU9HzHNh rJtUSiz6p1dh6K0reqWBDVDx+zbT2wSIQRLdo6XdrGjZJ/1uDq2iq5AL5XolV9Q+ S4VwQaPDmy8BKg55Wzi2FKzR7lPEcLjCCdmcNqYmRfyrpfhIG9KoJK9wp7kRe9bw y6uDZErRl6ctmP/snAZqZbzkMPa8uJBrXgrI8rY0WldD09ArgCQv6ibX9jdyNAwx RuQbPD965EUDLWrEpLaLioyOy2GO2+CZIpeRYP3wRSKNqwP3mTc/b2VErJSj7sgr L8wopzJOIyzkO8pqsQYMx6RP3f6/1I+MiE/j5PDVlFXUCNADVz+chYdbM3Z1RQOx VqjrSlUG3EzNRQkrq+2gnHiy2Glza8U7f6AGSbabxifTInEjGA02hL9ZG9OLAPEP 1pilMfE4JknDkkeaaYrNjb5JJOl6mqMLU6vERWpXGTzCLuRhS8YhAEXOLfGQTEzm eKyO2d7vqZ8f5jJet2DZZ+9QLriFefvjADVWQEtrqciVgv7jgEph26Udkiv31auv vRx5M6WP9V0QHccDwZ2QeCCeS+GeK6JRs5+nwoZtSYViWMDypOF1ZSyWKP7vnycH teyJ6QSXoQLbdKKzH+Ib =OtYU -----END PGP SIGNATURE----- --kVXhAStRUZ/+rrGn--