Source: scalpel Version: 1.60-9 Severity: important Tags: upstream patch User: debian-gl...@lists.debian.org Usertags: glibc2.34
Dear maintainer, The autopkgtest of scalpel fails in sid on amd64 when that autopkgtest is run with the binary packages of glibc from experimental. It passes when run with only packages from sid. In tabular form: pass fail glibc from sid 2.34-0experimental5 scalpel from sid 1.60-9 all others from sid from sid Here is the relevant part of the test log: autopkgtest [10:36:40]: test command1: scalpel -c debian/tests/scalpel.conf debian/tests/lua.img autopkgtest [10:36:40]: test command1: [----------------------- Opening target "/tmp/autopkgtest-lxc.93yq46zi/downtmp/build.fXk/src/debian/tests/lua.img" bash: line 1: 1961 Segmentation fault bash -ec 'scalpel -c debian/tests/scalpel.conf debian/tests/lua.img' 2> >(tee -a /tmp/autopkgtest-lxc.93yq46zi/downtmp/command1-stderr >&2) > >(tee -a /tmp/autopkgtest-lxc.93yq46zi/downtmp/command1-stdout) The full test log is available there: https://ci.debian.net/data/autopkgtest/unstable/amd64/s/scalpel/24235565/log.gz After some debugging, I have found the issue to be a duplicate use of a va_list without using va_copy. Please find attached a patch to fix that. Regards Aurelien
--- scalpel-1.60.orig/helpers.c +++ scalpel-1.60/helpers.c @@ -70,12 +70,14 @@ void setProgramName(char *s) { // write entry to both the screen and the audit file void scalpelLog(struct scalpelState *state, char *format, ...) { - va_list argp; + va_list argp, argp2; va_start(argp,format); + va_copy(argp2, argp); vfprintf (stderr,format,argp); - vfprintf (state->auditFile,format,argp); va_end(argp); + vfprintf (state->auditFile,format,argp2); + va_end(argp2); } // determine if two characters match, with optional case