Add memory error checking for sftpserver functions.
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@327 7dcaeef0-15fb-0310-b436-a5af3365683c
Этот коммит содержится в:
родитель
cde3151634
Коммит
ace6eed6c0
@ -34,13 +34,21 @@
|
|||||||
|
|
||||||
|
|
||||||
SFTP_CLIENT_MESSAGE *sftp_get_client_message(SFTP_SESSION *sftp){
|
SFTP_CLIENT_MESSAGE *sftp_get_client_message(SFTP_SESSION *sftp){
|
||||||
SFTP_PACKET *packet=sftp_packet_read(sftp);
|
SFTP_PACKET *packet;
|
||||||
SFTP_CLIENT_MESSAGE *msg=malloc(sizeof (SFTP_CLIENT_MESSAGE));
|
SFTP_CLIENT_MESSAGE *msg;
|
||||||
BUFFER *payload;
|
BUFFER *payload;
|
||||||
STRING *tmp;
|
STRING *tmp;
|
||||||
|
|
||||||
|
msg = malloc(sizeof (SFTP_CLIENT_MESSAGE));
|
||||||
|
if (msg == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
memset(msg,0,sizeof(SFTP_CLIENT_MESSAGE));
|
memset(msg,0,sizeof(SFTP_CLIENT_MESSAGE));
|
||||||
if(!packet)
|
|
||||||
return NULL;
|
packet = sftp_packet_read(sftp);
|
||||||
|
if (packet == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
payload=packet->payload;
|
payload=packet->payload;
|
||||||
msg->type=packet->type;
|
msg->type=packet->type;
|
||||||
msg->sftp=sftp;
|
msg->sftp=sftp;
|
||||||
@ -228,9 +236,13 @@ STRING *sftp_handle_alloc(SFTP_SESSION *sftp, void *info){
|
|||||||
int i;
|
int i;
|
||||||
u32 val;
|
u32 val;
|
||||||
STRING *ret;
|
STRING *ret;
|
||||||
if(!sftp->handles){
|
|
||||||
sftp->handles=malloc(sizeof(void *) * SFTP_HANDLES);
|
if (sftp->handles == NULL) {
|
||||||
memset(sftp->handles,0,sizeof(void *)*SFTP_HANDLES);
|
sftp->handles = malloc(sizeof(void *) * SFTP_HANDLES);
|
||||||
|
if (sftp->handles == NULL) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
memset(sftp->handles,0,sizeof(void *)*SFTP_HANDLES);
|
||||||
}
|
}
|
||||||
for(i=0; i<SFTP_HANDLES;++i)
|
for(i=0; i<SFTP_HANDLES;++i)
|
||||||
if(!sftp->handles[i])
|
if(!sftp->handles[i])
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user