diff options
author | James Golovich <james@gnuinter.net> | 2004-10-23 07:03:01 +0000 |
---|---|---|
committer | James Golovich <james@gnuinter.net> | 2004-10-23 07:03:01 +0000 |
commit | 73831ac046acad463402e09184a6b2c14440a5cb (patch) | |
tree | 3190ad4709980190e2ddb8abea52b8162400b66d /channels | |
parent | 584418a282688315473ee9717210c90d4a7d87d4 (diff) |
More memory checks
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rwxr-xr-x | channels/chan_iax2.c | 11 | ||||
-rwxr-xr-x | channels/chan_sip.c | 12 |
2 files changed, 15 insertions, 8 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index eb704a957..3e995e8bd 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -6411,9 +6411,11 @@ static struct iax2_peer *build_peer(const char *name, struct ast_variable *v, in } else { ast_mutex_unlock(&peerl.lock); peer = malloc(sizeof(struct iax2_peer)); - memset(peer, 0, sizeof(struct iax2_peer)); - peer->expire = -1; - peer->pokeexpire = -1; + if (peer) { + memset(peer, 0, sizeof(struct iax2_peer)); + peer->expire = -1; + peer->pokeexpire = -1; + } } if (peer) { peer->messagedetail = globalmessagedetail; @@ -6589,7 +6591,8 @@ static struct iax2_user *build_user(const char *name, struct ast_variable *v, in } else { ast_mutex_unlock(&userl.lock); user = malloc(sizeof(struct iax2_user)); - memset(user, 0, sizeof(struct iax2_user)); + if (user) + memset(user, 0, sizeof(struct iax2_user)); } if (user) { diff --git a/channels/chan_sip.c b/channels/chan_sip.c index f70cd75f0..1531dd0ed 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -8164,6 +8164,8 @@ static struct sip_peer *temp_peer(char *name) { struct sip_peer *peer; peer = malloc(sizeof(struct sip_peer)); + if (!peer) + return NULL; memset(peer, 0, sizeof(struct sip_peer)); peer->expire = -1; peer->pokeexpire = -1; @@ -8228,12 +8230,14 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, int } else { ast_mutex_unlock(&peerl.lock); peer = malloc(sizeof(struct sip_peer)); - memset(peer, 0, sizeof(struct sip_peer)); - peer->expire = -1; - peer->pokeexpire = -1; + if (peer) { + memset(peer, 0, sizeof(struct sip_peer)); + peer->expire = -1; + peer->pokeexpire = -1; + } } - peer->lastmsgssent = -1; if (peer) { + peer->lastmsgssent = -1; if (!found) { strncpy(peer->name, name, sizeof(peer->name)-1); strncpy(peer->context, default_context, sizeof(peer->context)-1); |