diff options
author | Anderson Toshiyuki Sasaki <ansasaki@redhat.com> | 2019-01-15 16:08:31 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2019-01-26 13:56:25 +0100 |
commit | 8ddbe7bec623e3ab16f654b7aab7a0e74781f73d (patch) | |
tree | 852db5210a7c675aab94d09ad89e478f71bff1ca /src/sftp.c | |
parent | 61ad276a8700071681224b460e91d987ee819e2d (diff) | |
download | libssh-8ddbe7bec623e3ab16f654b7aab7a0e74781f73d.tar.gz libssh-8ddbe7bec623e3ab16f654b7aab7a0e74781f73d.tar.xz libssh-8ddbe7bec623e3ab16f654b7aab7a0e74781f73d.zip |
sftp: Add NULL check in sftp_ext_free()
Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'src/sftp.c')
-rw-r--r-- | src/sftp.c | 21 |
1 files changed, 14 insertions, 7 deletions
@@ -81,19 +81,26 @@ static sftp_ext sftp_ext_new(void) { static void sftp_ext_free(sftp_ext ext) { - unsigned int i; + size_t i; if (ext == NULL) { return; } - if (ext->count) { - for (i = 0; i < ext->count; i++) { - SAFE_FREE(ext->name[i]); - SAFE_FREE(ext->data[i]); + if (ext->count > 0) { + if (ext->name != NULL) { + for (i = 0; i < ext->count; i++) { + SAFE_FREE(ext->name[i]); + } + SAFE_FREE(ext->name); + } + + if (ext->data != NULL) { + for (i = 0; i < ext->count; i++) { + SAFE_FREE(ext->data[i]); + } + SAFE_FREE(ext->data); } - SAFE_FREE(ext->name); - SAFE_FREE(ext->data); } SAFE_FREE(ext); |