diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index 248a7fd10705fb5b4afbbb80c4b39084b2b5783c..ef0ad651a4c92872db4c6f2b2b51ccd7e3219696 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -18833,6 +18833,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) { diff --git a/channels/sig_pri.c b/channels/sig_pri.c index 4b913910160c8f1e2f0b4c8abbef0ca894dd2913..d6b85072550999fd03d598b1ac330b0564bedfcd 100644 --- a/channels/sig_pri.c +++ b/channels/sig_pri.c @@ -4682,7 +4682,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);