aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2024-04-02 07:37:49 +1000
committerSteve Bennett <steveb@workware.net.au>2024-04-02 08:20:42 +1000
commitd009bf2f46f4445f6bb6a5e403deb1a0d75c8d70 (patch)
tree235a804f136c85cee7ec41af42dc4774dd63d0be
parent161aad13cda299162273d07ad4ebb9834bea6f91 (diff)
downloadjimtcl-d009bf2f46f4445f6bb6a5e403deb1a0d75c8d70.zip
jimtcl-d009bf2f46f4445f6bb6a5e403deb1a0d75c8d70.tar.gz
jimtcl-d009bf2f46f4445f6bb6a5e403deb1a0d75c8d70.tar.bz2
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 <steveb@workware.net.au>
-rw-r--r--jim.c5
1 files changed, 5 insertions, 0 deletions
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 */