summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libssh/sftp.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libssh/sftp.c b/libssh/sftp.c
index 0c8db3bd..54446eef 100644
--- a/libssh/sftp.c
+++ b/libssh/sftp.c
@@ -529,7 +529,12 @@ SFTP_DIR *sftp_opendir(SFTP_SESSION *sftp, const char *path){
}
memset(dir,0,sizeof(*dir));
dir->sftp=sftp;
- dir->name=strdup(path);
+ dir->name = strdup(path);
+ if (dir->name == NULL) {
+ SAFE_FREE(dir);
+ SAFE_FREE(file);
+ return NULL;
+ }
dir->handle=file->handle;
free(file);
}