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);