Control: tags -1 fixed-upstream

On 06/11/2018 03:42 PM, [email protected] wrote:
Package: wmifs
Version: 1.8-1

I noticed that wmifs was randomly crashing on my laptop. I have no idea
how to reproduce it besides letting it run for a long time, it didn't
seem to be associated with hibernation or anything else obvious. If I
have multiple instances running, usually only one will crash while the
others continue without issue.

Running it under gdb with wmifs-dbgsym installed produced this trace:

   Program received signal SIGSEGV, Segmentation fault.
   _IO_fgets (buf=0x7fffffffd9d0 "\001", n=512, fp=0x0) at iofgets.c:47
   47   iofgets.c: No such file or directory.
   (gdb) bt
   #0  _IO_fgets (buf=0x7fffffffd9d0 "\001", n=512, fp=0x0) at iofgets.c:47
   #1  0x0000555555556d1f in fgets (__stream=0x0, __n=512, __s=0x7fffffffd9d0 
"\001") at /usr/include/x86_64-linux-gnu/bits/stdio2.h:263
   #2  get_statistics (devname=<optimized out>, ip=0x7fffffffdc70, 
op=0x7fffffffdc78, is=0x7fffffffdc80, os=0x7fffffffdc88) at wmifs.c:767
   #3  0x00005555555573b9 in wmifs_routine (argc=<optimized out>, argv=<optimized 
out>) at wmifs.c:555
   #4  0x0000555555555dbe in main (argc=5, argv=0x7fffffffe198) at wmifs.c:367

Apparently the fopen() on wmifs.c line 766 can fail in some cases, and
that needs to be checked for to avoid passing a NULL file pointer to
fgets(). It could be as simple as inserting

     if (!fp) {
         return -1;
     }

to match the minimal error handling on subsequent lines when an fgets() fails.

Thanks for your report!

I've just released a new upstream version (1.9) with your patch [1]. It should get fixed in Debian soon.

[1] https://www.dockapps.net/wmifs

Reply via email to