summaryrefslogtreecommitdiffstats
path: root/generic/tkTextBTree.c
diff options
context:
space:
mode:
authorfvogel <fvogelnew1@free.fr>2023-11-05 15:56:52 (GMT)
committerfvogel <fvogelnew1@free.fr>2023-11-05 15:56:52 (GMT)
commit1753940cb05ca5e4e54c36e5411e7a2bd7f37e99 (patch)
treeb9c88e75f88b57df190fbe993fa05f3571843b3d /generic/tkTextBTree.c
parent175bd29fa30803f63c3346585344a9f35b63dd17 (diff)
downloadtk-1753940cb05ca5e4e54c36e5411e7a2bd7f37e99.zip
tk-1753940cb05ca5e4e54c36e5411e7a2bd7f37e99.tar.gz
tk-1753940cb05ca5e4e54c36e5411e7a2bd7f37e99.tar.bz2
Fix [499f8e3313]: AdjustStartEndRefs(): avoid undefined realloc() call. Patch from Christopher Chavez.
Diffstat (limited to 'generic/tkTextBTree.c')
-rw-r--r--generic/tkTextBTree.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/generic/tkTextBTree.c b/generic/tkTextBTree.c
index 533f1bf..1c9cc98 100644
--- a/generic/tkTextBTree.c
+++ b/generic/tkTextBTree.c
@@ -632,10 +632,18 @@ AdjustStartEndRefs(
i++;
}
treePtr->startEndCount = count;
- treePtr->startEnd = (TkTextLine **)ckrealloc(treePtr->startEnd,
- sizeof(TkTextLine *) * count);
- treePtr->startEndRef = (TkText **)ckrealloc(treePtr->startEndRef,
- sizeof(TkText *) * count);
+ if (count > 0) {
+ treePtr->startEnd = (TkTextLine**)ckrealloc(treePtr->startEnd,
+ sizeof(TkTextLine*) * count);
+ treePtr->startEndRef = (TkText**)ckrealloc(treePtr->startEndRef,
+ sizeof(TkText*) * count);
+ }
+ else {
+ ckfree(treePtr->startEndRef);
+ treePtr->startEndRef = NULL;
+ ckfree(treePtr->startEnd);
+ treePtr->startEnd = NULL;
+ }
}
if ((action & TEXT_ADD_REFS)
&& (textPtr->start != NULL || textPtr->end != NULL)) {