diff options
author | Corey Farrell <git@cfware.com> | 2017-07-27 21:58:22 -0400 |
---|---|---|
committer | George Joseph <gjoseph@digium.com> | 2017-08-01 15:39:25 -0600 |
commit | 7c3cdc81f7c7397b545322e0215f3e93526469ca (patch) | |
tree | 7a8a3241c2efab7425779ff5117d72f4da591696 /apps | |
parent | 1078d4f7f6cb0e68f135f96ebb43c2ea4c0f0905 (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/Makefile | 2 | ||||
-rw-r--r-- | apps/app_chanspy.c | 2 | ||||
-rw-r--r-- | apps/app_followme.c | 2 | ||||
-rw-r--r-- | apps/app_minivm.c | 2 | ||||
-rw-r--r-- | apps/app_queue.c | 18 | ||||
-rw-r--r-- | apps/app_voicemail.c | 4 |
6 files changed, 16 insertions, 14 deletions
diff --git a/apps/Makefile b/apps/Makefile index 7730460fe..d68817350 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -29,6 +29,8 @@ include $(ASTTOPDIR)/Makefile.moddir_rules $(call MOD_ADD_C,app_confbridge,$(wildcard confbridge/*.c)) +app_voicemail.o: _ASTCFLAGS+=-Wno-format-truncation + ifneq ($(findstring $(OSARCH), mingw32 cygwin ),) LIBS+= -lres_ael_share.so -lres_monitor.so -lres_speech.so LIBS+= -lres_smdi.so diff --git a/apps/app_chanspy.c b/apps/app_chanspy.c index 354b9ea7d..95ebace63 100644 --- a/apps/app_chanspy.c +++ b/apps/app_chanspy.c @@ -1442,7 +1442,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 72afa3dd1..578118ad3 100644 --- a/apps/app_followme.c +++ b/apps/app_followme.c @@ -1558,7 +1558,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 ff9ab340a..9359f82f3 100644 --- a/apps/app_minivm.c +++ b/apps/app_minivm.c @@ -2251,7 +2251,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 f297dad8d..004d93a2e 100644 --- a/apps/app_queue.c +++ b/apps/app_queue.c @@ -6610,7 +6610,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; @@ -6811,6 +6810,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. */ @@ -6924,20 +6924,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 0a07cc103..5f8212859 100644 --- a/apps/app_voicemail.c +++ b/apps/app_voicemail.c @@ -7913,7 +7913,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 }; |