aboutsummaryrefslogtreecommitdiff
path: root/libssh/sftp.c
diff options
context:
space:
mode:
authorAris Adamantiadis <aris@0xbadc0de.be>2008-06-12 20:40:43 +0000
committerAris Adamantiadis <aris@0xbadc0de.be>2008-06-12 20:40:43 +0000
commitda3d665a13e7989a9cf78d07738a92981f6e3486 (patch)
treed75038a70977204b74b610417379588436001c86 /libssh/sftp.c
parentfe51f9c7662b7391f80953bedc4fe61b89013913 (diff)
downloadlibssh-da3d665a13e7989a9cf78d07738a92981f6e3486.tar.gz
libssh-da3d665a13e7989a9cf78d07738a92981f6e3486.tar.xz
libssh-da3d665a13e7989a9cf78d07738a92981f6e3486.zip
begin fixing the ssh_say everywhere
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@167 7dcaeef0-15fb-0310-b436-a5af3365683c
Diffstat (limited to 'libssh/sftp.c')
-rw-r--r--libssh/sftp.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libssh/sftp.c b/libssh/sftp.c
index c6fd56f2..e0eb14d6 100644
--- a/libssh/sftp.c
+++ b/libssh/sftp.c
@@ -80,15 +80,19 @@ SFTP_SESSION *sftp_server_new(SSH_SESSION *session, CHANNEL *chan){
}
int sftp_server_init(SFTP_SESSION *sftp){
+ sftp_enter_function();
SFTP_PACKET *packet=sftp_packet_read(sftp);
u32 version;
BUFFER *reply;
- if(!packet)
- return -1;
+ if(!packet){
+ sftp_leave_function();
+ return -1;
+ }
if(packet->type != SSH_FXP_INIT){
ssh_set_error(sftp->session,SSH_FATAL,"Packet read of type %d instead of SSH_FXP_INIT",
packet->type);
sftp_packet_free(packet);
+ sftp_leave_function();
return -1;
}
ssh_say(2,"received SSH_FXP_INIT\n");
@@ -101,6 +105,7 @@ int sftp_server_init(SFTP_SESSION *sftp){
buffer_add_u32(reply,ntohl(LIBSFTP_VERSION));
if(sftp_packet_write(sftp,SSH_FXP_VERSION,reply)==-1){
buffer_free(reply);
+ sftp_leave_function();
return -1;
}
buffer_free(reply);
@@ -109,6 +114,7 @@ int sftp_server_init(SFTP_SESSION *sftp){
sftp->version=LIBSFTP_VERSION;
else
sftp->version=version;
+ sftp_leave_function();
return 0;
}
#endif