diff options
Diffstat (limited to 'libssh/scp.c')
-rw-r--r-- | libssh/scp.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libssh/scp.c b/libssh/scp.c index 878b6cb..03a7012 100644 --- a/libssh/scp.c +++ b/libssh/scp.c @@ -43,9 +43,14 @@ ssh_scp ssh_scp_new(ssh_session session, int mode, const char *location){ ssh_scp_free(scp); return NULL; } + scp->location=strdup(location); + if (scp->location == NULL) { + ssh_set_error(session,SSH_FATAL,"Error allocating memory for ssh_scp"); + ssh_scp_free(scp); + return NULL; + } scp->session=session; scp->mode=mode; - scp->location=strdup(location); scp->channel=NULL; scp->state=SSH_SCP_NEW; return scp; |