diff options
author | rsc <devnull@localhost> | 2006-10-19 21:58:59 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2006-10-19 21:58:59 +0000 |
commit | 6fc7da3c529ca7c610e8172f5b02980c75597dd5 (patch) | |
tree | 6e06f1a96414ceb59a8016fb257b46b6f87f9a1c /src/libventi/rpc.c | |
parent | 067d852abe242ee1d267bcc0d652cd6bb31b7e17 (diff) | |
download | plan9port-6fc7da3c529ca7c610e8172f5b02980c75597dd5.tar.gz plan9port-6fc7da3c529ca7c610e8172f5b02980c75597dd5.tar.bz2 plan9port-6fc7da3c529ca7c610e8172f5b02980c75597dd5.zip |
Fix a handful of small one-time memory leaks in vbackup,
and one per-package memory leak (in writethread).
Diffstat (limited to 'src/libventi/rpc.c')
-rw-r--r-- | src/libventi/rpc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libventi/rpc.c b/src/libventi/rpc.c index faf80629..5a820a99 100644 --- a/src/libventi/rpc.c +++ b/src/libventi/rpc.c @@ -59,12 +59,15 @@ _vtrpc(VtConn *z, Packet *p, VtFcall *tx) if(top == buf){ werrstr("first two bytes must be in same packet fragment"); packetfree(p); + vtfree(r); return nil; } top[1] = tag; qunlock(&z->lk); - if(vtsend(z, p) < 0) + if(vtsend(z, p) < 0){ + vtfree(r); return nil; + } qlock(&z->lk); /* wait for the muxer to give us our packet */ @@ -85,6 +88,7 @@ _vtrpc(VtConn *z, Packet *p, VtFcall *tx) if((p = vtrecv(z)) == nil){ werrstr("unexpected eof on venti connection"); z->muxer = 0; + vtfree(r); return nil; } qlock(&z->lk); |