aboutsummaryrefslogtreecommitdiff
path: root/src/libventi/rpc.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2006-10-19 21:58:59 +0000
committerrsc <devnull@localhost>2006-10-19 21:58:59 +0000
commit6fc7da3c529ca7c610e8172f5b02980c75597dd5 (patch)
tree6e06f1a96414ceb59a8016fb257b46b6f87f9a1c /src/libventi/rpc.c
parent067d852abe242ee1d267bcc0d652cd6bb31b7e17 (diff)
downloadplan9port-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.c6
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);