This line in main.cpp ... { FILE *foo = fopen("/tmp/f", "w"); fprintf(foo, "Main program = %s\n", argv[0]); fclose(foo); } ...works for the first user to play the game but fails for any subsqeuent players. If /tmp/f already exists from a previous player then the current player does not (normally, depending on umask) have write access so the fopen() call failes. When fclose() is called with foo set to NULL the program segfaults. Normally an insecurly created tmp file is bad news but this one does not appear to be used for anything. I assume this is infact a snippet of debug code that wasn't intented to be part of the final program. Looking at the maelstrom homepage the versions available for download there do not appear to include this code. However there are differences between the src.rpm and tar.gz there so it is not apparent weither this is redhat specific code or possibly a bug that has been fixed in the official source without a version number increase.
You're right, it was spurious debugging code. The bug was fixed without incrementing the version number. http://www.devolution.com/~slouken/Maelstrom/
Fixed by upgrading to the current tarball in Maelstrom-3.0.1-13, which should be in the next rawhide release.
*** Bug 49184 has been marked as a duplicate of this bug. ***