diff options
author | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-10-07 12:51:21 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@felloff.net> | 2019-10-07 12:51:21 +0200 |
commit | 6716e9ba20e378efe32924813c531943373afc46 (patch) | |
tree | 367a04a28e671762bb80d1c7c43c59d8e5eab710 /sys/src/cmd/sshfs.c | |
parent | f763dc164092f5a4652c65feab358130857f0622 (diff) |
sshfs: fix dir2attrib() memory leak in wstat error case (thanks BurnZeZ)
Diffstat (limited to 'sys/src/cmd/sshfs.c')
-rw-r--r-- | sys/src/cmd/sshfs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/cmd/sshfs.c b/sys/src/cmd/sshfs.c index b6e7a93da..30638ddb6 100644 --- a/sys/src/cmd/sshfs.c +++ b/sys/src/cmd/sshfs.c @@ -569,7 +569,7 @@ dir2attrib(Dir *d, uchar **rp) int uid, gid; werrstr("phase error"); - r = emalloc9p(MAXATTRIB); + *rp = r = emalloc9p(MAXATTRIB); e = r + MAXATTRIB; fl = 0; p = r + 4; @@ -604,7 +604,6 @@ dir2attrib(Dir *d, uchar **rp) rc = pack(p, e - p, "uu", d->atime, d->mtime); if(rc < 0) return -1; p += rc; } PUT4(r, fl); - *rp = r; return p - r; } @@ -929,6 +928,7 @@ sendproc(void *) if(x < 0){ responderror(r->req); putsreq(r); + free(s); break; } rlock(sf); |