mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-25 15:08:53 +00:00
fix a crash when MALLOC_DEBUG is enabled and the regexten is enabled. The crash
would occur when the extension got removed. (fixes issue #7484) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@38288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -953,6 +953,15 @@ static const struct ast_channel_tech sip_tech = {
|
|||||||
.send_text = sip_sendtext,
|
.send_text = sip_sendtext,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef __AST_DEBUG_MALLOC
|
||||||
|
static void FREE(void *ptr)
|
||||||
|
{
|
||||||
|
free(ptr);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
#define FREE free
|
||||||
|
#endif
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Thread-safe random number generator
|
\brief Thread-safe random number generator
|
||||||
\return a random number
|
\return a random number
|
||||||
@@ -1625,7 +1634,7 @@ static void register_peer_exten(struct sip_peer *peer, int onoff)
|
|||||||
stringp = multi;
|
stringp = multi;
|
||||||
while((ext = strsep(&stringp, "&"))) {
|
while((ext = strsep(&stringp, "&"))) {
|
||||||
if (onoff)
|
if (onoff)
|
||||||
ast_add_extension(regcontext, 1, ext, 1, NULL, NULL, "Noop", strdup(peer->name), free, channeltype);
|
ast_add_extension(regcontext, 1, ext, 1, NULL, NULL, "Noop", strdup(peer->name), FREE, channeltype);
|
||||||
else
|
else
|
||||||
ast_context_remove_extension(regcontext, ext, 1, NULL);
|
ast_context_remove_extension(regcontext, ext, 1, NULL);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user