diff options
author | Mike Kelly <mike@pair.com> | 2011-12-16 14:52:20 -0500 |
---|---|---|
committer | Benjamin Fleischer <fleiben@gmail.com> | 2012-01-22 11:16:43 +0100 |
commit | a306a80b6ea9ca986a444b722acf0ed09beac7bc (patch) | |
tree | e74fb8d1f60be6db42a01a2336705f5a3723a053 /sshfs.c | |
parent | bb3ea51117a5dfd98f00fb829f8576e009593dda (diff) | |
download | sshfs-a306a80b6ea9ca986a444b722acf0ed09beac7bc.tar sshfs-a306a80b6ea9ca986a444b722acf0ed09beac7bc.tar.gz sshfs-a306a80b6ea9ca986a444b722acf0ed09beac7bc.tar.bz2 sshfs-a306a80b6ea9ca986a444b722acf0ed09beac7bc.zip |
Fix a possible small memory leak
Diffstat (limited to 'sshfs.c')
-rw-r--r-- | sshfs.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -1454,16 +1454,20 @@ static int sftp_init_reply_ok(struct buffer *buf, uint32_t *version) struct buffer buf2; buf_init(&buf2, len - 5); - if (do_read(&buf2) == -1) + if (do_read(&buf2) == -1) { + buf_free(&buf2); return -1; + } do { char *ext; char *extdata; if (buf_get_string(&buf2, &ext) == -1 || - buf_get_string(&buf2, &extdata) == -1) + buf_get_string(&buf2, &extdata) == -1) { + buf_free(&buf2); return -1; + } DEBUG("Extension: %s <%s>\n", ext, extdata); @@ -1479,6 +1483,7 @@ static int sftp_init_reply_ok(struct buffer *buf, uint32_t *version) strcmp(extdata, "1") == 0) sshfs.ext_hardlink = 1; } while (buf2.len < buf2.size); + buf_free(&buf2); } return 0; } |