summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJames Golovich <james@gnuinter.net>2004-10-23 07:03:01 +0000
committerJames Golovich <james@gnuinter.net>2004-10-23 07:03:01 +0000
commit73831ac046acad463402e09184a6b2c14440a5cb (patch)
tree3190ad4709980190e2ddb8abea52b8162400b66d /channels
parent584418a282688315473ee9717210c90d4a7d87d4 (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-xchannels/chan_iax2.c11
-rwxr-xr-xchannels/chan_sip.c12
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);