libglib2: don't override ac_cv_func_strerror_r_char_p
authorJohn Keeping <john@metanate.com>
Wed, 21 Feb 2018 15:39:02 +0000 (15:39 +0000)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 25 Feb 2018 21:32:16 +0000 (22:32 +0100)
libglib2 recently changed to use the result of the autoconf macro to
decide how to use strerror_r() in g_strerror() instead of embedding the
same preprocessor condition as in glibc's strings.h (upstream commit
c8e268bb was first included in release 2.53.4).

Following this change, if ac_cv_func_strerror_r_char_p is incorrectly
set to "no", the error string is an uninitialized buffer which cannot be
encoded as UTF-8.  The final result of this is that GLib functions that
are expected to fill in an error pointer on failure in fact leave this
pointing to NULL which is likely to cause a segfault in client
applications.

In fact the autoconf check compiles a test file but does not need to run
it, so the test is safe when cross-compiling and returns the correct
answer.  So remove this cached value and let the configure script figure
it out for itself, fixing g_strerror() on glibc systems.

Signed-off-by: John Keeping <john@metanate.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/libglib2/libglib2.mk

index b13da333d86f06adc02c736ababb8e9fb3e119e4..097c980393de06fc605aadd77d8c4eadc37d0894 100644 (file)
@@ -42,8 +42,6 @@ LIBGLIB2_CONF_ENV = \
        jm_cv_func_nanosleep_works=yes \
        gl_cv_func_working_utimes=yes \
        ac_cv_func_utime_null=yes \
-       ac_cv_have_decl_strerror_r=yes \
-       ac_cv_func_strerror_r_char_p=no \
        jm_cv_func_svid_putenv=yes \
        ac_cv_func_getcwd_null=yes \
        ac_cv_func_getdelim=yes \