diff --git a/meson.build b/meson.build index f081e5b1a..fb3749bb3 100644 --- a/meson.build +++ b/meson.build @@ -198,6 +198,17 @@ endif dep_fnmatch = cc.find_library('fnmatch', required: false) +code = '''#define _GNU_SOURCE 1 +#include +#include +extern char **environ; +void func(void) { printf("%p\n", environ); } +''' +if cc.compiles(code, args : '-lc', name : 'environ check') + config_h.set10('HAVE_ENVIRON', true) +endif + + add_global_arguments('-DPACKAGE_BIN_DIR="@0@"'.format(dir_bin), language: 'c') add_global_arguments('-DPACKAGE_LIB_DIR="@0@"'.format(dir_lib), language: 'c') add_global_arguments('-DPACKAGE_DATA_DIR="@0@"'.format(join_paths(dir_data, proj)), language: 'c') diff --git a/src/bin/e_util_suid.h b/src/bin/e_util_suid.h index be961a520..3b7e401df 100644 --- a/src/bin/e_util_suid.h +++ b/src/bin/e_util_suid.h @@ -198,7 +198,7 @@ e_setuid_setup(uid_t *caller_uid, gid_t *caller_gid, char **caller_user, char ** # ifdef HAVE_ENVIRON if (environ) { - int again; + int i, again; // go over environment array again and again... safely do {