From 22f607649d7dc530df84b7b90781ce0b88153095 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Fri, 5 Oct 2012 10:37:53 +0200 Subject: sftp: Harden sftp_extension_supported() against null pointers. --- src/sftp.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/sftp.c b/src/sftp.c index 822360af..60afdc2f 100644 --- a/src/sftp.c +++ b/src/sftp.c @@ -622,10 +622,18 @@ int sftp_extension_supported(sftp_session sftp, const char *name, const char *data) { int i, n; + if (sftp == NULL || name == NULL || data == NULL) { + return 0; + } + n = sftp_extensions_get_count(sftp); for (i = 0; i < n; i++) { - if (strcmp(sftp_extensions_get_name(sftp, i), name) == 0 && - strcmp(sftp_extensions_get_data(sftp, i), data) == 0) { + const char *ext_name = sftp_extensions_get_name(sftp, i); + const char *ext_data = sftp_extensions_get_data(sftp, i); + + if (ext_name != NULL && ext_data != NULL && + strcmp(ext_name, name) == 0 && + strcmp(ext_data, data) == 0) { return 1; } } -- cgit v1.2.3