From d009bf2f46f4445f6bb6a5e403deb1a0d75c8d70 Mon Sep 17 00:00:00 2001 From: Steve Bennett Date: Tue, 2 Apr 2024 07:37:49 +1000 Subject: lreplace: avoid memmove() with NULL pointer In the case there is nothing to insert Could be provoked with: lreplace {a b} 0 0 Fixes: #300 Signed-off-by: Steve Bennett --- jim.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/jim.c b/jim.c index 8588b7f..f364c00 100644 --- a/jim.c +++ b/jim.c @@ -7114,6 +7114,11 @@ static void ListInsertElements(Jim_Obj *listPtr, int idx, int elemc, Jim_Obj *co int i; Jim_Obj **point; + if (elemc == 0) { + /* Nothing to do */ + return; + } + if (requiredLen > listPtr->internalRep.listValue.maxLen) { if (currentLen) { /* Assume that we will need extra space for future expansion */ -- cgit v1.1