commit 73392c2c7cc2e74759480a37e345366dfa265926 from: David du Colombier <0intro@gmail.com> via: Russ Cox date: Mon Dec 12 21:44:50 2011 UTC libventi: fix segfault in vtreadpacket when not connected This problem happens especially in fossil/view when vtread can be called even if not connected to venti. The old libventi handle this case properly in the function vtRPC, which is called by vtReadPacket (client.c). R=rsc CC=plan9port.codebot http://codereview.appspot.com/5484044 commit - ca81de0ae174e737cf3594787fa885e51d6e9d1d commit + 73392c2c7cc2e74759480a37e345366dfa265926 blob - 9f200f48c2e8f60061c902534fb084c4cc60fbf4 blob + f76fd343311a1425179904239088739960a0289c --- src/libventi/client.c +++ src/libventi/client.c @@ -65,6 +65,11 @@ vtreadpacket(VtConn *z, uchar score[VtScoreSize], uint if(memcmp(score, vtzeroscore, VtScoreSize) == 0) return packetalloc(); + if(z == nil){ + werrstr("not connected"); + return nil; + } + if(z->version[1] == '2' && n >= (1<<16)) { werrstr("read count too large for protocol"); return nil;