summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorCorey Farrell <git@cfware.com>2017-07-27 21:58:22 -0400
committerGeorge Joseph <gjoseph@digium.com>2017-08-01 15:44:29 -0600
commit0f49e6ee2e270ef2e6df18c990fcf24f679eba44 (patch)
treee4649fa8837b425ae5a39464f36fc30cbcd431c4 /apps
parent0d58fefa303f267eb8fa00d4aa1bcff12956111e (diff)
Fix compiler warnings on Fedora 26 / GCC 7.
GCC 7 has added capability to produce warnings, this fixes most of those warnings. The specific warnings are disabled in a few places: * app_voicemail.c: truncation of paths more than 4096 chars in many places. * chan_mgcp.c: callid truncated to 80 chars. * cdr.c: two userfields are combined to cdr copy, fix would break ABI. * tcptls.c: ignore use of deprecated method SSLv3_client_method(). ASTERISK-27156 #close Change-Id: I65f280e7d3cfad279d16f41823a4d6fddcbc4c88
Diffstat (limited to 'apps')
-rw-r--r--apps/Makefile2
-rw-r--r--apps/app_chanspy.c2
-rw-r--r--apps/app_followme.c2
-rw-r--r--apps/app_minivm.c2
-rw-r--r--apps/app_queue.c18
-rw-r--r--apps/app_voicemail.c4
6 files changed, 16 insertions, 14 deletions
diff --git a/apps/Makefile b/apps/Makefile
index 86e5caf5c..efc83295b 100644
--- a/apps/Makefile
+++ b/apps/Makefile
@@ -30,6 +30,8 @@ include $(ASTTOPDIR)/Makefile.moddir_rules
clean::
rm -f confbridge/*.o confbridge/*.i confbridge/*.gcda confbridge/*.gcno
+app_voicemail.o: _ASTCFLAGS+=-Wno-format-truncation
+
app_confbridge.so: $(subst .c,.o,$(wildcard confbridge/*.c))
$(subst .c,.o,$(wildcard confbridge/*.c)): _ASTCFLAGS+=$(call MOD_ASTCFLAGS,app_confbridge)
diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c
index 2a472bf44..aefe94054 100644
--- a/apps/app_chanspy.c
+++ b/apps/app_chanspy.c
@@ -1425,7 +1425,7 @@ static int extenspy_exec(struct ast_channel *chan, const char *data)
static int dahdiscan_exec(struct ast_channel *chan, const char *data)
{
const char *spec = "DAHDI";
- struct ast_flags flags;
+ struct ast_flags flags = {0};
struct spy_dtmf_options user_options = {
.cycle = '#',
.volume = '\0',
diff --git a/apps/app_followme.c b/apps/app_followme.c
index 602806b39..5f9e220b5 100644
--- a/apps/app_followme.c
+++ b/apps/app_followme.c
@@ -1527,7 +1527,7 @@ outrun:
}
if (!ast_strlen_zero(targs->namerecloc)) {
int ret;
- char fn[PATH_MAX];
+ char fn[PATH_MAX + sizeof(REC_FORMAT)];
snprintf(fn, sizeof(fn), "%s.%s", targs->namerecloc,
REC_FORMAT);
diff --git a/apps/app_minivm.c b/apps/app_minivm.c
index 1bfcfbbf4..43cd7a29f 100644
--- a/apps/app_minivm.c
+++ b/apps/app_minivm.c
@@ -2253,7 +2253,7 @@ static int minivm_greet_exec(struct ast_channel *chan, const char *data)
char ecodes[16] = "#";
char *tmpptr;
struct minivm_account *vmu;
- char *username = argv[0];
+ char *username;
if (ast_strlen_zero(data)) {
ast_log(LOG_ERROR, "Minivm needs at least an account argument \n");
diff --git a/apps/app_queue.c b/apps/app_queue.c
index ac4738fd2..0d9b2f194 100644
--- a/apps/app_queue.c
+++ b/apps/app_queue.c
@@ -6481,7 +6481,6 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
char oldexten[AST_MAX_EXTENSION]="";
char oldcontext[AST_MAX_CONTEXT]="";
char queuename[256]="";
- char interfacevar[256]="";
struct ast_channel *peer;
struct ast_channel *which;
struct callattempt *lpeer;
@@ -6682,6 +6681,7 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
}
} else { /* peer is valid */
RAII_VAR(struct ast_json *, blob, NULL, ast_json_unref);
+ RAII_VAR(struct ast_str *, interfacevar, ast_str_create(325), ast_free);
/* Ah ha! Someone answered within the desired timeframe. Of course after this
we will always return with -1 so that it is hung up properly after the
conversation. */
@@ -6795,20 +6795,20 @@ static int try_calling(struct queue_ent *qe, struct ast_flags opts, char **opt_a
ao2_lock(qe->parent);
/* if setinterfacevar is defined, make member variables available to the channel */
/* use pbx_builtin_setvar to set a load of variables with one call */
- if (qe->parent->setinterfacevar) {
- snprintf(interfacevar, sizeof(interfacevar), "MEMBERINTERFACE=%s,MEMBERNAME=%s,MEMBERCALLS=%d,MEMBERLASTCALL=%ld,MEMBERPENALTY=%d,MEMBERDYNAMIC=%d,MEMBERREALTIME=%d",
+ if (qe->parent->setinterfacevar && interfacevar) {
+ ast_str_set(&interfacevar, 0, "MEMBERINTERFACE=%s,MEMBERNAME=%s,MEMBERCALLS=%d,MEMBERLASTCALL=%ld,MEMBERPENALTY=%d,MEMBERDYNAMIC=%d,MEMBERREALTIME=%d",
member->interface, member->membername, member->calls, (long)member->lastcall, member->penalty, member->dynamic, member->realtime);
- pbx_builtin_setvar_multiple(qe->chan, interfacevar);
- pbx_builtin_setvar_multiple(peer, interfacevar);
+ pbx_builtin_setvar_multiple(qe->chan, ast_str_buffer(interfacevar));
+ pbx_builtin_setvar_multiple(peer, ast_str_buffer(interfacevar));
}
/* if setqueueentryvar is defined, make queue entry (i.e. the caller) variables available to the channel */
/* use pbx_builtin_setvar to set a load of variables with one call */
- if (qe->parent->setqueueentryvar) {
- snprintf(interfacevar, sizeof(interfacevar), "QEHOLDTIME=%ld,QEORIGINALPOS=%d",
+ if (qe->parent->setqueueentryvar && interfacevar) {
+ ast_str_set(&interfacevar, 0, "QEHOLDTIME=%ld,QEORIGINALPOS=%d",
(long) (time(NULL) - qe->start), qe->opos);
- pbx_builtin_setvar_multiple(qe->chan, interfacevar);
- pbx_builtin_setvar_multiple(peer, interfacevar);
+ pbx_builtin_setvar_multiple(qe->chan, ast_str_buffer(interfacevar));
+ pbx_builtin_setvar_multiple(peer, ast_str_buffer(interfacevar));
}
ao2_unlock(qe->parent);
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 3836fa975..943a883f6 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -7915,7 +7915,7 @@ static int vm_forwardoptions(struct ast_channel *chan, struct ast_vm_user *vmu,
*duration += prepend_duration;
msg_cat = ast_category_get(msg_cfg, "message", NULL);
- snprintf(duration_buf, 11, "%ld", *duration);
+ snprintf(duration_buf, sizeof(duration_buf), "%ld", *duration);
if (!ast_variable_update(msg_cat, "duration", duration_buf, NULL, 0)) {
ast_config_text_file_save(textfile, msg_cfg, "app_voicemail");
}
@@ -8685,7 +8685,7 @@ static int play_message_duration(struct ast_channel *chan, struct vm_state *vms,
static int play_message(struct ast_channel *chan, struct ast_vm_user *vmu, struct vm_state *vms)
{
int res = 0;
- char filename[256], *cid;
+ char filename[PATH_MAX], *cid;
const char *origtime, *context, *category, *duration, *flag;
struct ast_config *msg_cfg;
struct ast_flags config_flags = { CONFIG_FLAG_NOCACHE };