JS changed bug 1234405
What Removed Added
Resolution FIXED ---
Status RESOLVED REOPENED

Comment # 12 on bug 1234405 from JS
This issue still occurs on my system when there are more than one file under
/etc/environment.d/
Steps to reproduce:
1. Creates two files under /etc/environment.d/:
   $ sudo touch /etc/environment.d/a.conf /etc/environment.d/b.conf
2. run command su
3. The above command fails: error Segmentation fault (core dumped)

I try to use gdb to debug, got the following:

Breakpoint 1, econf_mergeFiles (merged_file=0x7ffecb773d18,
usr_file=0x5562728da770, etc_file=0x5562728db230) at ../lib/libeconf.c:289
289       *merged_file = calloc(1, sizeof(econf_file));
(gdb) p usr_file->path
$22 = 0x5562728db850 "/usr/etc//environment"
(gdb) p etc_file->path
$23 = 0x5562728c7220 "/etc//environment.d/a.conf"
(gdb) c
Continuing.

Breakpoint 1, econf_mergeFiles (merged_file=0x7ffecb773d18,
usr_file=0x5562728da480, etc_file=0x5562728da180) at ../lib/libeconf.c:289
289       *merged_file = calloc(1, sizeof(econf_file));
(gdb) p usr_file->path
$24 = 0x0
(gdb) p etc_file->path
$25 = 0x5562728c3ef0 "/etc//environment.d/b.conf"
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x00007f241617aeab in __strcmp_avx2 () from /lib64/libc.so.6
(gdb) bt
#0  0x00007f241617aeab in __strcmp_avx2 () from /lib64/libc.so.6
#1  0x00007f241621c9f4 in econf_mergeFiles (merged_file=0x7ffecb773d18,
usr_file=<optimized out>, etc_file=0x5562728da180) at ../lib/libeconf.c:310
#2  econf_mergeFiles (merged_file=merged_file@entry=0x7ffecb773d18,
usr_file=<optimized out>, etc_file=0x5562728da180) at ../lib/libeconf.c:282
#3  0x00007f24162210cf in merge_econf_files (key_files=0x5562728d5fb0,
merged_files=0x7ffecb773d18) at ../lib/mergefiles.c:225
#4  readConfigWithCallback (result=result@entry=0x7ffecb773d18,
config_name=config_name@entry=0x7f241625b44a "environment",
config_suffix=config_suffix@entry=0x7f241625b13f "", 
    delim=delim@entry=0x7f241625b456 "=", comment=comment@entry=0x7f241625b140
"#", conf_dirs=<optimized out>, conf_count=0, callback=0x0, callback_data=0x0)
at ../lib/readconfig.c:233
#5  0x00007f24162212ef in econf_readConfigWithCallback
(key_file=0x7ffecb773d18, project=<optimized out>, usr_subdir=<optimized out>,
config_name=0x7f241625b44a "environment", config_suffix=0x7f241625b13f "", 
    delim=0x7f241625b456 "=", comment=0x7f241625b140 "#", callback=0x0,
callback_data=0x0) at ../lib/libeconf.c:429
#6  0x00007f241625a7c1 in ?? () from /usr/lib64/security/pam_env.so
#7  0x00007f2416258a79 in ?? () from /usr/lib64/security/pam_env.so
#8  0x00007f2416259f2e in ?? () from /usr/lib64/security/pam_env.so
#9  0x00007f241625a3ec in ?? () from /usr/lib64/security/pam_env.so
#10 0x00007f241625a647 in pam_sm_setcred () from /usr/lib64/security/pam_env.so
#11 0x00007f24162328e8 in ?? () from /lib64/libpam.so.0
#12 0x00007f2416232f74 in ?? () from /lib64/libpam.so.0
#13 0x00007f2416231e5b in pam_setcred () from /lib64/libpam.so.0
#14 0x000055626c3711df in ?? ()
#15 0x000055626c36cd1b in ?? ()
#16 0x00007f241602a2ae in __libc_start_call_main () from /lib64/libc.so.6
#17 0x00007f241602a379 in __libc_start_main_impl () from /lib64/libc.so.6
#18 0x000055626c36cd45 in ?? ()
(gdb) c
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.


You are receiving this mail because: