summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas E. Dickey <dickey@invisible-island.net>2024-03-01 20:31:09 -0500
committerThomas E. Dickey <dickey@invisible-island.net>2024-03-02 16:58:12 -0500
commit5815fc38a12e5ac7f8bd391ce8f04f13b8178e69 (patch)
tree3adc5e53d77fccfb020891d7b1be07aa0344d714
parenta3fb321330ccb6d9dcd6fd3d41971cda3987527a (diff)
add check for null pointer, avoid dereferencing
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
-rw-r--r--src/MultiSrc.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/MultiSrc.c b/src/MultiSrc.c
index 9cef918..5d23396 100644
--- a/src/MultiSrc.c
+++ b/src/MultiSrc.c
@@ -408,12 +408,15 @@ ReplaceText(Widget w, XawTextPosition startPos, XawTextPosition endPos,
if (src->text_src.edit_mode == XawtextRead)
return (XawEditError);
- start_piece = FindPiece(src, startPos, &start_first);
- end_piece = FindPiece(src, endPos, &end_first);
+ if ((start_piece = FindPiece(src, startPos, &start_first)) == NULL)
+ return XawEditError;
+ if ((end_piece = FindPiece(src, endPos, &end_first)) == NULL)
+ return XawEditError;
/* STEP 3: remove the empty pieces... */
if (start_piece != end_piece) {
- temp_piece = start_piece->next;
+ if ((temp_piece = start_piece->next) == NULL)
+ return XawEditError;
/* If empty and not the only piece then remove it */
if (((start_piece->used = startPos - start_first) == 0)