plan9port/src/cmd/plumb
Fazlul Shahriar b9424f640a plumber: fix EOF detection on writes to rules file (#257)
Instead of checking Fcall.data==nil, check Fcall.count==0.
The former check always fails after `gcc -O2` optimizations
(gcc version 8.3.0).

Also fix an out-of-bound read detected by valgrind:
```
==31162== Invalid read of size 1
==31162==    at 0x11005E: morerules (rules.c:739)
==31162==    by 0x110254: writerules (rules.c:775)
==31162==    by 0x10D2FE: fsyswrite (fsys.c:848)
==31162==    by 0x10C304: fsysproc (fsys.c:248)
==31162==    by 0x112E8C: threadstart (thread.c:96)
==31162==    by 0x4A682BF: ??? (in /usr/lib/libc-2.29.so)
==31162==  Address 0x4ea984a is 0 bytes after a block of size 250 alloc'd
==31162==    at 0x483AD7B: realloc (vg_replace_malloc.c:826)
==31162==    by 0x1196F3: p9realloc (malloc.c:53)
==31162==    by 0x10BDFD: erealloc (plumber.c:124)
==31162==    by 0x10FCD9: concat (rules.c:642)
==31162==    by 0x10FCD9: concat (rules.c:635)
==31162==    by 0x110230: writerules (rules.c:773)
==31162==    by 0x10D2FE: fsyswrite (fsys.c:848)
==31162==    by 0x10C304: fsysproc (fsys.c:248)
==31162==    by 0x112E8C: threadstart (thread.c:96)
==31162==    by 0x4A682BF: ??? (in /usr/lib/libc-2.29.so)
```

Fixes #256
2019-09-19 13:08:54 -04:00
..
fsys.c plumber: comment out bogus user name check 2010-10-07 03:31:19 -04:00
match.c Small tweaks to make things build again. 2004-02-29 22:42:33 +00:00
mkfile Goodbye SHORTLIB 2005-01-04 22:10:29 +00:00
plumb.c add -9 for debugging 2005-03-18 19:02:55 +00:00
plumber.c Many small edits. 2005-01-13 04:49:19 +00:00
plumber.h Use gcc -ansi -pedantic in 9c. Fix many non-C89-isms. 2006-04-01 19:24:03 +00:00
rules.c plumber: fix EOF detection on writes to rules file (#257) 2019-09-19 13:08:54 -04:00