[Asterisk-code-review] Fixes for GCC 9 (...asterisk[16])

George Joseph asteriskteam at digium.com
Fri May 10 11:22:33 CDT 2019


George Joseph has uploaded this change for review. ( https://gerrit.asterisk.org/c/asterisk/+/11370


Change subject: Fixes for GCC 9
......................................................................

Fixes for GCC 9

Various fixes for issues caught by gcc 9.  Mostly snprintf
trying to copy to a buffer potentially too small.

ASTERISK-28412

Change-Id: I9e85a60f3c81d46df16cfdd1c329ce63432cf32e
---
M apps/app_adsiprog.c
M apps/app_followme.c
M channels/chan_console.c
M channels/chan_iax2.c
M main/media_cache.c
M pbx/pbx_dundi.c
M utils/extconf.c
M utils/smsq.c
8 files changed, 12 insertions(+), 12 deletions(-)



  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/70/11370/1

diff --git a/apps/app_adsiprog.c b/apps/app_adsiprog.c
index cdc57aa..26fe16b 100644
--- a/apps/app_adsiprog.c
+++ b/apps/app_adsiprog.c
@@ -588,7 +588,7 @@
 	}
 
 	if (state->numsubs > 127) {
-		ast_log(LOG_WARNING, "No more subscript space at line %d of %s\n", lineno, script);
+		ast_log(LOG_WARNING, "No more subscript space at line %d of %s\n", lineno, S_OR(script, "unknown"));
 		return NULL;
 	}
 
diff --git a/apps/app_followme.c b/apps/app_followme.c
index 9aef039..c5b70ec 100644
--- a/apps/app_followme.c
+++ b/apps/app_followme.c
@@ -224,7 +224,7 @@
 	long digts;
 	int ynidx;
 	int state;
-	char dialarg[256];
+	char dialarg[768];
 	/*! Collected digits to accept/decline the call. */
 	char yn[MAX_YN_STRING];
 	/*! TRUE if the outgoing call is answered. */
diff --git a/channels/chan_console.c b/channels/chan_console.c
index 9113ffa..a5ee2db 100644
--- a/channels/chan_console.c
+++ b/channels/chan_console.c
@@ -849,10 +849,10 @@
 	if (a->argc == e->args + 1) {
 		char *ext = NULL, *con = NULL;
 		s = ast_ext_ctx(pvt, a->argv[e->args], &ext, &con);
-		ast_debug(1, "provided '%s', exten '%s' context '%s'\n",
-			a->argv[e->args], mye, myc);
 		mye = ext;
 		myc = con;
+		ast_debug(1, "provided '%s', exten '%s' context '%s'\n",
+			a->argv[e->args], mye, myc);
 	}
 
 	/* supply default values if needed */
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index e41d991..a7b2f26 100644
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -3814,7 +3814,7 @@
 /*! \brief Show one peer in detail */
 static char *handle_cli_iax2_show_peer(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 {
-	char status[30];
+	char status[64];
 	char cbuf[256];
 	struct iax2_peer *peer;
 	struct ast_str *codec_buf = ast_str_alloca(AST_FORMAT_CAP_NAMES_LEN);
@@ -6836,7 +6836,7 @@
 static void _iax2_show_peers_one(int fd, struct mansession *s, struct show_peers_context *cont, struct iax2_peer *peer)
 {
 	char name[256] = "";
-	char status[20];
+	char status[64];
 	int retstatus;
 	struct ast_str *encmethods = ast_str_alloca(256);
 
diff --git a/main/media_cache.c b/main/media_cache.c
index 97a80d5..4493235 100644
--- a/main/media_cache.c
+++ b/main/media_cache.c
@@ -160,8 +160,8 @@
 			sizeof(bucket_file->path));
 	} else if (!strchr(bucket_file->path, '.') && (ext = strrchr(ast_sorcery_object_get_id(bucket_file), '.'))) {
 		/* If we don't have a file extension and were provided one in the URI, use it */
-		char new_path[PATH_MAX];
-		char found_ext[PATH_MAX];
+		char found_ext[32];
+		char new_path[PATH_MAX + sizeof(found_ext)];
 
 		ast_bucket_file_metadata_set(bucket_file, "ext", ext);
 
diff --git a/pbx/pbx_dundi.c b/pbx/pbx_dundi.c
index fa90cb8..ec150f3 100644
--- a/pbx/pbx_dundi.c
+++ b/pbx/pbx_dundi.c
@@ -2123,7 +2123,7 @@
 
 static void save_secret(const char *newkey, const char *oldkey)
 {
-	char tmp[256];
+	char tmp[350];
 	if (oldkey)
 		snprintf(tmp, sizeof(tmp), "%s;%s", oldkey, newkey);
 	else
@@ -2722,7 +2722,7 @@
 	AST_LIST_LOCK(&peers);
 	ast_cli(a->fd, FORMAT2, "EID", "Host", "Port", "Model", "AvgTime", "Status");
 	AST_LIST_TRAVERSE(&peers, peer, list) {
-		char status[20];
+		char status[64];
 		int print_line = -1;
 		char srch[2000];
 
diff --git a/utils/extconf.c b/utils/extconf.c
index 129dcc8..9ffa3f6 100644
--- a/utils/extconf.c
+++ b/utils/extconf.c
@@ -3005,7 +3005,7 @@
 		if (do_include || do_exec) {
 			if (c) {
 				char *cur2;
-				char real_inclusion_name[256];
+				char real_inclusion_name[525];
 
 				/* Strip off leading and trailing "'s and <>'s */
 				while((*c == '<') || (*c == '>') || (*c == '\"')) c++;
diff --git a/utils/smsq.c b/utils/smsq.c
index 4934ef7..8fd36ad 100644
--- a/utils/smsq.c
+++ b/utils/smsq.c
@@ -98,7 +98,7 @@
 */
 static char txqcheck (char *dir, char *queue, char subaddress, char *channel, char *callerid, int wait, int delay, int retries, int concurrent)
 {
-   char ogname[100],
+   char ogname[300],
      temp[100],
      dirname[100],
     *p=NULL;

-- 
To view, visit https://gerrit.asterisk.org/c/asterisk/+/11370
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 16
Gerrit-Change-Id: I9e85a60f3c81d46df16cfdd1c329ce63432cf32e
Gerrit-Change-Number: 11370
Gerrit-PatchSet: 1
Gerrit-Owner: George Joseph <gjoseph at digium.com>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20190510/d4dc92ae/attachment-0001.html>


More information about the asterisk-code-review mailing list