mirror of
https://git.libssh.org/projects/libssh.git
synced 2026-02-06 18:29:50 +09:00
More memory error checks for ssh_socket_new().
git-svn-id: svn+ssh://svn.berlios.de/svnroot/repos/libssh/trunk@329 7dcaeef0-15fb-0310-b436-a5af3365683c
This commit is contained in:
@@ -88,22 +88,32 @@ void ssh_socket_init(void) {
|
||||
* \internal
|
||||
* \brief creates a new Socket object
|
||||
*/
|
||||
struct socket *ssh_socket_new(SSH_SESSION *session){
|
||||
struct socket *s;
|
||||
struct socket *ssh_socket_new(SSH_SESSION *session) {
|
||||
struct socket *s;
|
||||
|
||||
s = malloc(sizeof(struct socket));
|
||||
if (s = NULL) {
|
||||
return NULL;
|
||||
}
|
||||
s->fd=-1;
|
||||
s->last_errno=-1;
|
||||
s->session=session;
|
||||
s->in_buffer=buffer_new();
|
||||
s->out_buffer=buffer_new();
|
||||
s->data_to_read=0;
|
||||
s->data_to_write=0;
|
||||
s->data_except=0;
|
||||
return s;
|
||||
s = malloc(sizeof(struct socket));
|
||||
if (s == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
s->fd = -1;
|
||||
s->last_errno = -1;
|
||||
s->session = session;
|
||||
s->in_buffer = buffer_new();
|
||||
if (s->in_buffer == NULL) {
|
||||
SAFE_FREE(s);
|
||||
return NULL;
|
||||
}
|
||||
s->out_buffer=buffer_new();
|
||||
if (s->out_buffer == NULL) {
|
||||
buffer_free(s->in_buffer);
|
||||
SAFE_FREE(s);
|
||||
return NULL;
|
||||
}
|
||||
s->data_to_read = 0;
|
||||
s->data_to_write = 0;
|
||||
s->data_except = 0;
|
||||
|
||||
return s;
|
||||
}
|
||||
|
||||
/* \internal
|
||||
|
||||
Reference in New Issue
Block a user