aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xpbx.c6
-rwxr-xr-xres/res_musiconhold.c2
2 files changed, 5 insertions, 3 deletions
diff --git a/pbx.c b/pbx.c
index 903476241..00d53e01e 100755
--- a/pbx.c
+++ b/pbx.c
@@ -1115,8 +1115,10 @@ static int pbx_extension_helper(struct ast_channel *c, char *context, char *exte
app = pbx_findapp(e->app);
pthread_mutex_unlock(&conlock);
if (app) {
- strncpy(c->context, context, sizeof(c->context-1));
- strncpy(c->exten, exten, sizeof(c->exten)-1);
+ if (c->context != context)
+ strncpy(c->context, context, sizeof(c->context-1));
+ if (c->exten != exten)
+ strncpy(c->exten, exten, sizeof(c->exten)-1);
c->priority = priority;
pbx_substitute_variables(passdata, sizeof(passdata), c, e);
if (option_debug)
diff --git a/res/res_musiconhold.c b/res/res_musiconhold.c
index b9a680d39..7dd88572b 100755
--- a/res/res_musiconhold.c
+++ b/res/res_musiconhold.c
@@ -496,7 +496,7 @@ static int moh_register(char *classname, char *mode, char *param, char *miscargs
if (!strcasecmp(mode, "mp3") || !strcasecmp(mode, "quietmp3") || !strcasecmp(mode, "httpmp3")) {
if (!strcasecmp(mode, "quietmp3"))
moh->quiet = 1;
- strncpy(moh->dir, param, sizeof(moh->dir));
+ strncpy(moh->dir, param, sizeof(moh->dir) - 1);
moh->srcfd = -1;
#ifdef ZAPATA_MOH
/* It's an MP3 Moh -- Open /dev/zap/pseudo for timing... Is