diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c index c17e4f8918..697c720e35 100644 --- a/channels/chan_dahdi.c +++ b/channels/chan_dahdi.c @@ -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) { diff --git a/channels/sig_pri.c b/channels/sig_pri.c index b009c4520e..1b228af995 100644 --- a/channels/sig_pri.c +++ b/channels/sig_pri.c @@ -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);