diff --git a/src/undo.c b/src/undo.c index 35a907fa8e23898cd7f2a5050ffdd78ce28b2628..35fa31064208948d8a61fb35ba7130476a10ca08 100644 --- a/src/undo.c +++ b/src/undo.c @@ -1025,10 +1025,10 @@ u_read_undo(name, hash) { /* If we've had to move from the rightmost side of the table, * we have to shift everything to the right by one spot. */ - if (i < num_read_uhps - 1) + if (num_read_uhps - i - 1 > 0) { memmove(uhp_table + i + 2, uhp_table + i + 1, - (num_read_uhps - i) * sizeof(u_header_T *)); + (num_read_uhps - i - 1) * sizeof(u_header_T *)); } uhp_table[i + 1] = uhp; break;