diff options
author | Dominique Martinet <asmadeus@codewreck.org> | 2019-11-30 12:42:40 +0100 |
---|---|---|
committer | Nikolaus Rath <Nikolaus@rath.org> | 2019-11-30 11:42:40 +0000 |
commit | 8340a67b31112a32469cca0e0a94f965d4200021 (patch) | |
tree | 79085cd8ac59975076d254aae74e622d89c30908 /sshfs.c | |
parent | ab0e339e80bef649b13fddd6a3c0fc7a2d5b5df3 (diff) | |
download | sshfs-8340a67b31112a32469cca0e0a94f965d4200021.tar sshfs-8340a67b31112a32469cca0e0a94f965d4200021.tar.gz sshfs-8340a67b31112a32469cca0e0a94f965d4200021.tar.bz2 sshfs-8340a67b31112a32469cca0e0a94f965d4200021.zip |
sftp_init_reply_ok: fix small memory leak (#198)
The leak was identified with ASAN: configure the project with
meson -Db_sanitize=address to reproduce.
Diffstat (limited to 'sshfs.c')
-rw-r--r-- | sshfs.c | 9 |
1 files changed, 7 insertions, 2 deletions
@@ -1596,12 +1596,14 @@ static int sftp_init_reply_ok(struct conn *conn, struct buffer *buf, } do { - char *ext; - char *extdata; + char *ext = NULL; + char *extdata = NULL; if (buf_get_string(&buf2, &ext) == -1 || buf_get_string(&buf2, &extdata) == -1) { buf_free(&buf2); + free(ext); + free(extdata); return -1; } @@ -1621,6 +1623,9 @@ static int sftp_init_reply_ok(struct conn *conn, struct buffer *buf, if (strcmp(ext, SFTP_EXT_FSYNC) == 0 && strcmp(extdata, "1") == 0) sshfs.ext_fsync = 1; + + free(ext); + free(extdata); } while (buf2.len < buf2.size); buf_free(&buf2); } |