In particular, if HOME is undefined, then a segmentation fault will occur.
Also, if HOME is at least 245 characters, then a buffer overflow will occur.
We check for these conditions and exit with an error message instead.
Patch obtained from Debian package [1].
[1] https://sources.debian.net/src/wmfsm/0.35-1/debian/patches/handle_HOME_errors.patch/
In particular,
- Add new --version command line option. (This was already documented in
the manpage.) Remove this information from the --help text. Also took
the opportunity to properly align the --fire line in the --help text.
- Remove WMFSM_VERSION macro in favor of PACKAGE_VERSION from autconf.
- Remove hard-coded version number at top of source file for
maintainability.
The individual patches no longer seem to exist, so I submit them together.
According to debian/changelog entries by Arthur Korn <arthur@debian.org>,
these patches include:
* fixed memleak introduced in 0.34-2 with the patch by Timo Benk.
global char *mp[] was assigned the result of stdup() repeatedly
without free. My ugly fix is to free it all up at the beginning of
readFileSystems(). Now I'm a proud Perl coder ... closes: #196057
* memleak news: avoid it if there are more than 9 filesystems too.
* Fixed filesystem name corruption, thanks to Ralf Horstmann and Cristian
Ionescu-Idbohrn for the patch.