[asterisk-commits] may: trunk r307677 - in /trunk/addons: chan_ooh323.c ooh323cDriver.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Sat Feb 12 17:26:02 CST 2011
Author: may
Date: Sat Feb 12 17:25:58 2011
New Revision: 307677
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=307677
Log:
change malloc to ast_calloc calls to prevent crash of asterisk
Modified:
trunk/addons/chan_ooh323.c
trunk/addons/ooh323cDriver.c
Modified: trunk/addons/chan_ooh323.c
URL: http://svnview.digium.com/svn/asterisk/trunk/addons/chan_ooh323.c?view=diff&rev=307677&r1=307676&r2=307677
==============================================================================
--- trunk/addons/chan_ooh323.c (original)
+++ trunk/addons/chan_ooh323.c Sat Feb 12 17:25:58 2011
@@ -701,7 +701,7 @@
ast_mutex_unlock(&iflock);
} else {
ast_mutex_lock(&p->lock);
- p->callToken = (char*)ast_malloc(AST_MAX_EXTENSION);
+ p->callToken = (char*)ast_calloc(1, AST_MAX_EXTENSION);
if(!p->callToken) {
ast_mutex_unlock(&p->lock);
ast_mutex_lock(&iflock);
@@ -1433,7 +1433,7 @@
ast_mutex_lock(&p->lock);
- ast_format_copy(&p->writeformat, fmt);
+ ast_format_copy(&(p->writeformat), fmt);
if (p->owner) {
while (p->owner && ast_channel_trylock(p->owner)) {
@@ -1491,7 +1491,7 @@
ast_mutex_lock(&p->lock);
- ast_format_copy(&p->readformat, fmt);
+ ast_format_copy(&(p->readformat), fmt);
if (p->owner) {
while (p->owner && ast_channel_trylock(p->owner)) {
@@ -2183,7 +2183,7 @@
user = ast_calloc(1,sizeof(struct ooh323_user));
if (user) {
memset(user, 0, sizeof(struct ooh323_user));
- if (!(user->cap = ast_format_cap_alloc_nolock())) {
+ if (!(user->cap = ast_format_cap_alloc())) {
ast_free(user);
return NULL;
}
@@ -2223,7 +2223,7 @@
if (user->rtptimeout < 0)
user->rtptimeout = gRTPTimeout;
} else if (!strcasecmp(v->name, "rtpmask")) {
- if ((user->rtpmask = malloc(sizeof(struct OOH323Regex))) &&
+ if ((user->rtpmask = ast_calloc(1, sizeof(struct OOH323Regex))) &&
(regcomp(&user->rtpmask->regex, v->value, REG_EXTENDED)
== 0)) {
ast_mutex_init(&user->rtpmask->lock);
@@ -2296,7 +2296,7 @@
peer = ast_calloc(1, sizeof(*peer));
if (peer) {
memset(peer, 0, sizeof(struct ooh323_peer));
- if (!(peer->cap = ast_format_cap_alloc_nolock())) {
+ if (!(peer->cap = ast_format_cap_alloc())) {
ast_free(peer);
return NULL;
}
@@ -2367,7 +2367,7 @@
if(peer->rtptimeout < 0)
peer->rtptimeout = gRTPTimeout;
} else if (!strcasecmp(v->name, "rtpmask")) {
- if ((peer->rtpmask = malloc(sizeof(struct OOH323Regex))) &&
+ if ((peer->rtpmask = ast_calloc(1, sizeof(struct OOH323Regex))) &&
(regcomp(&peer->rtpmask->regex, v->value, REG_EXTENDED)
== 0)) {
ast_mutex_init(&peer->rtpmask->lock);
@@ -2601,7 +2601,7 @@
else
ooH323EpTryBeMaster(0);
} else if (!strcasecmp(v->name, "h323id")) {
- pNewAlias = malloc(sizeof(struct ooAliases));
+ pNewAlias = ast_calloc(1, sizeof(struct ooAliases));
if (!pNewAlias) {
ast_log(LOG_ERROR, "Failed to allocate memory for h323id alias\n");
return 1;
@@ -2615,7 +2615,7 @@
gAliasList = pNewAlias;
pNewAlias = NULL;
} else if (!strcasecmp(v->name, "e164")) {
- pNewAlias = malloc(sizeof(struct ooAliases));
+ pNewAlias = ast_calloc(1, sizeof(struct ooAliases));
if (!pNewAlias) {
ast_log(LOG_ERROR, "Failed to allocate memory for e164 alias\n");
return 1;
@@ -2626,7 +2626,7 @@
gAliasList = pNewAlias;
pNewAlias = NULL;
} else if (!strcasecmp(v->name, "email")) {
- pNewAlias = malloc(sizeof(struct ooAliases));
+ pNewAlias = ast_calloc(1, sizeof(struct ooAliases));
if (!pNewAlias) {
ast_log(LOG_ERROR, "Failed to allocate memory for email alias\n");
return 1;
@@ -3238,7 +3238,7 @@
.onModeChanged = onModeChanged
};
if (!(gCap = ast_format_cap_alloc())) {
- return 1;
+ return 1;
}
if (!(ooh323_tech.capabilities = ast_format_cap_alloc())) {
return 1;
@@ -4095,6 +4095,7 @@
memset(&p->udptlredirip, 0, sizeof(p->udptlredirip));
ast_mutex_unlock(&p->lock);
+ free(callToken);
return 0;
}
Modified: trunk/addons/ooh323cDriver.c
URL: http://svnview.digium.com/svn/asterisk/trunk/addons/ooh323cDriver.c?view=diff&rev=307677&r1=307676&r2=307677
==============================================================================
--- trunk/addons/ooh323cDriver.c (original)
+++ trunk/addons/ooh323cDriver.c Sat Feb 12 17:25:58 2011
@@ -145,7 +145,7 @@
/* make new thread */
if (cur == NULL) {
- if (!(cur = ast_malloc(sizeof(struct callthread)))) {
+ if (!(cur = ast_calloc(1, sizeof(struct callthread)))) {
ast_log(LOG_ERROR, "Unable to allocate thread structure for call %s\n",
call->callToken);
return -1;
More information about the asterisk-commits
mailing list