]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
build: GCC 5.1.x catches some new const, array bounds and missing paren issues 24/1524/1
authorGeorge Joseph <george.joseph@fairview5.com>
Sat, 24 Oct 2015 18:08:41 +0000 (12:08 -0600)
committerGeorge Joseph <george.joseph@fairview5.com>
Sat, 24 Oct 2015 21:08:54 +0000 (16:08 -0500)
Fixed 1 issue in each of the affected files.

ASTERISK-25494 #close
Reported-by: George Joseph
Tested-by: George Joseph
Change-Id: I818f149cd66a93b062df421e1c73c7942f5a4a77

channels/chan_dahdi.c
channels/sig_pri.c

index c17e4f8918b70ae5d18e5b300b1591274a2c2bcb..697c720e35925eb0573594eef9ee770aa040c16d 100644 (file)
@@ -18832,6 +18832,11 @@ static int process_dahdi(struct dahdi_chan_conf *confp, const char *cat, struct
                                        cadence_is_ok = 0;
                                }
 
+                               /* This check is only needed to satisfy the compiler that element_count can't cause an out of bounds */
+                               if (element_count >= ARRAY_LEN(c)) {
+                                       element_count = ARRAY_LEN(c) - 1;
+                               }
+
                                /* Ring cadences cannot be negative */
                                for (i = 0; i < element_count; i++) {
                                        if (c[i] == 0) {
index b009c4520e8881dc79f179efcc1eb6ecaaae0d49..1b228af99587cdefa78ba2aff9986e8cf9978aaa 100644 (file)
@@ -4680,7 +4680,7 @@ static void sig_pri_handle_subcmds(struct sig_pri_span *pri, int chanpos, int ev
                                        f.frametype = AST_FRAME_TEXT;
                                        f.subclass.integer = 0;
                                        f.offset = 0;
-                                       f.data.ptr = &subcmd->u.display.text;
+                                       f.data.ptr = (void *)&subcmd->u.display.text;
                                        f.datalen = subcmd->u.display.length + 1;
                                        ast_queue_frame(owner, &f);
                                        ast_channel_unlock(owner);