Package: scalpel Version: 1.60-6 Severity: important Dear Maintainer,
Scalpel fails to run Raspberry Pi. This happens in the char conversion of the getopt() return value (usually an int) of ProcessCommandLineArgs(). The Raspberry Pi (and presumably other ARM systems) use an unsigned char internally for char. This means that when getopt()'s -1 return value gets converted to char on the Raspberry Pi, the result is 255. This takes the 'default' path in the case statement and causes the program to fail (without an error) with a return value of 1. I've found that I can compile the program on the Raspberry Pi and it functions properly when I use CXXFLAGS=-fsigned-char. Of course, I could just submit a patch to put that in the Makefile, but I'm not sure if it's the best option. I don't think that it would affect the functionality on any other platform (as long as the compiler is GCC-compatible, which I don't think would typically be an issue on a Debian system), but I think it's best to leave that decision to you. It looks like the scalpel source has changed hands and is now on Github (https://www.github.com/sleuthkit/scalpel) though it's under a new license and I'm unsure how official the license change is. But if that is the new upstream, then it has yet to be fixed there either. Chuck Ricketts -- System Information: Distributor ID: Raspbian Description: Raspbian GNU/Linux 10 (buster) Release: 10 Codename: buster Architecture: armv7l Kernel: Linux 4.19.57-v7l+ (SMP w/4 CPU cores) Kernel taint flags: TAINT_WARN, TAINT_CRAP Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages scalpel depends on: ii libc6 2.28-10+rpi1 scalpel recommends no packages. scalpel suggests no packages. -- Configuration Files: /etc/scalpel/scalpel.conf changed [not included] -- no debconf information