diff --git a/daemon/libs/iax2/jitterbuf.c b/daemon/libs/iax2/jitterbuf.c index 135c5d4d27cde91ee30e4fadc08fdafad8251d96..6e74c3fc40761724fc6c5e239a8fc965ed7a2146 100644 --- a/daemon/libs/iax2/jitterbuf.c +++ b/daemon/libs/iax2/jitterbuf.c @@ -239,7 +239,7 @@ static void history_calc_maxbuf(jitterbuf *jb) if (toins > jb->hist_maxbuf[j]) { /* move over if there's space */ const size_t slide = (JB_HISTORY_MAXBUF_SZ - (j + 1)) * sizeof(jb->hist_maxbuf[0]); - if (slide > 0) + if (j < (JB_HISTORY_MAXBUF_SZ - 1)) memmove(jb->hist_maxbuf + j + 1, jb->hist_maxbuf + j, slide); /* insert */ jb->hist_maxbuf[j] = toins; @@ -258,7 +258,7 @@ static void history_calc_maxbuf(jitterbuf *jb) if (toins < jb->hist_minbuf[j]) { /* move over if there's space */ const size_t slide = (JB_HISTORY_MAXBUF_SZ - (j + 1)) * sizeof(jb->hist_minbuf[0]); - if (slide > 0) + if (j < (JB_HISTORY_MAXBUF_SZ - 1)) memmove(jb->hist_minbuf + j + 1, jb->hist_minbuf + j, slide); /* insert */ jb->hist_minbuf[j] = toins;