diff --git a/3rdparty/iaxclient/lib/spandsp/plc.c b/3rdparty/iaxclient/lib/spandsp/plc.c index 4edbb2dc5..4efd4183e 100644 --- a/3rdparty/iaxclient/lib/spandsp/plc.c +++ b/3rdparty/iaxclient/lib/spandsp/plc.c @@ -107,7 +107,9 @@ static void normalise_history(plc_state_t *s) if (s->buf_ptr == 0) return; memcpy(tmp, s->history, sizeof(int16_t)*s->buf_ptr); - memcpy(s->history, s->history + s->buf_ptr, sizeof(int16_t)*(PLC_HISTORY_LEN - s->buf_ptr)); + + // FlightGear fix: use memove, becuase ASan reports overlaps here + memmove(s->history, s->history + s->buf_ptr, sizeof(int16_t)*(PLC_HISTORY_LEN - s->buf_ptr)); memcpy(s->history + PLC_HISTORY_LEN - s->buf_ptr, tmp, sizeof(int16_t)*s->buf_ptr); s->buf_ptr = 0; }