aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAnderson Toshiyuki Sasaki <ansasaki@redhat.com>2019-01-15 16:08:31 +0100
committerAndreas Schneider <asn@cryptomilk.org>2019-01-26 13:56:25 +0100
commit8ddbe7bec623e3ab16f654b7aab7a0e74781f73d (patch)
tree852db5210a7c675aab94d09ad89e478f71bff1ca /src
parent61ad276a8700071681224b460e91d987ee819e2d (diff)
downloadlibssh-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')
-rw-r--r--src/sftp.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/sftp.c b/src/sftp.c
index 3726993c..195089bd 100644
--- a/src/sftp.c
+++ b/src/sftp.c
@@ -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);