summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Schneider <mail@cynapses.org>2009-04-03 08:31:28 +0000
committerAndreas Schneider <mail@cynapses.org>2009-04-03 08:31:28 +0000
commit2aa81c054402404e8fe061a612096533ce0c3453 (patch)
tree590203b2cbdc1b5340999b063bb4fdb762081d28
parent0856ba3008efb40fcc7d10ba4b2fcd15e7105456 (diff)
downloadlibssh-2aa81c054402404e8fe061a612096533ce0c3453.tar.gz
libssh-2aa81c054402404e8fe061a612096533ce0c3453.tar.xz
libssh-2aa81c054402404e8fe061a612096533ce0c3453.zip
Add memory error checks for strdup().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@376 7dcaeef0-15fb-0310-b436-a5af3365683c
-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);
}