mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-04 11:58:52 +00:00
Merged revisions 46067 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r46067 | russell | 2006-10-23 21:27:42 -0400 (Mon, 23 Oct 2006) | 7 lines In muted.c, check the return value of strdup. In ael_main.c, check the return value of calloc. (issue #8157) In passing fix a few minor bugs in ael_main.c. The last argument to strncpy() was a hard-coded 100, where it should have been 99. I changed this to use sizeof() - 1. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@46068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -62,8 +62,10 @@ void destroy_namelist(struct namelist *x)
|
|||||||
struct namelist *create_name(char *name);
|
struct namelist *create_name(char *name);
|
||||||
struct namelist *create_name(char *name)
|
struct namelist *create_name(char *name)
|
||||||
{
|
{
|
||||||
struct namelist *x = (struct namelist *)calloc(sizeof(struct namelist),1);
|
struct namelist *x = calloc(1, sizeof(*x));
|
||||||
strncpy(x->name,name,100);
|
if (!x)
|
||||||
|
return NULL;
|
||||||
|
strncpy(x->name, name, sizeof(x->name) - 1);
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -253,14 +255,16 @@ void pbx_builtin_setvar(void *chan, void *data)
|
|||||||
|
|
||||||
struct ast_context * ast_context_create(void **extcontexts, const char *name, const char *registrar)
|
struct ast_context * ast_context_create(void **extcontexts, const char *name, const char *registrar)
|
||||||
{
|
{
|
||||||
struct ast_context *x = (struct ast_context *)calloc(sizeof(struct ast_context),1);
|
struct ast_context *x = calloc(1, sizeof(*x));
|
||||||
|
if (!x)
|
||||||
|
return NULL;
|
||||||
x->next = context_list;
|
x->next = context_list;
|
||||||
context_list = x;
|
context_list = x;
|
||||||
if(!no_comp)
|
if (!no_comp)
|
||||||
printf("Executed ast_context_create(conts, name=%s, registrar=%s);\n", name, registrar);
|
printf("Executed ast_context_create(conts, name=%s, registrar=%s);\n", name, registrar);
|
||||||
conts++;
|
conts++;
|
||||||
strncpy(x->name,name,100);
|
strncpy(x->name, name, sizeof(x->name) - 1);
|
||||||
strncpy(x->registrar,registrar,100);
|
strncpy(x->registrar, registrar, sizeof(x->registrar) - 1);
|
||||||
return x;
|
return x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -85,8 +85,15 @@ static void add_channel(char *tech, char *location)
|
|||||||
chan = malloc(sizeof(struct channel));
|
chan = malloc(sizeof(struct channel));
|
||||||
if (chan) {
|
if (chan) {
|
||||||
memset(chan, 0, sizeof(struct channel));
|
memset(chan, 0, sizeof(struct channel));
|
||||||
chan->tech = strdup(tech);
|
if (!(chan->tech = strdup(tech))) {
|
||||||
chan->location = strdup(location);
|
free(chan);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!(chan->location = strdup(location))) {
|
||||||
|
free(chan->tech);
|
||||||
|
free(chan);
|
||||||
|
return;
|
||||||
|
}
|
||||||
chan->next = channels;
|
chan->next = channels;
|
||||||
channels = chan;
|
channels = chan;
|
||||||
}
|
}
|
||||||
@@ -550,7 +557,10 @@ static void append_sub(struct channel *chan, char *name)
|
|||||||
sub = malloc(sizeof(struct subchannel));
|
sub = malloc(sizeof(struct subchannel));
|
||||||
if (sub) {
|
if (sub) {
|
||||||
memset(sub, 0, sizeof(struct subchannel));
|
memset(sub, 0, sizeof(struct subchannel));
|
||||||
sub->name = strdup(name);
|
if (!(sub->name = strdup(name))) {
|
||||||
|
free(sub);
|
||||||
|
return;
|
||||||
|
}
|
||||||
sub->next = chan->subs;
|
sub->next = chan->subs;
|
||||||
chan->subs = sub;
|
chan->subs = sub;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user