diff options
author | Thomas E. Dickey <dickey@invisible-island.net> | 2024-03-01 20:31:09 -0500 |
---|---|---|
committer | Thomas E. Dickey <dickey@invisible-island.net> | 2024-03-02 16:58:12 -0500 |
commit | 5815fc38a12e5ac7f8bd391ce8f04f13b8178e69 (patch) | |
tree | 3adc5e53d77fccfb020891d7b1be07aa0344d714 | |
parent | a3fb321330ccb6d9dcd6fd3d41971cda3987527a (diff) |
add check for null pointer, avoid dereferencing
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
-rw-r--r-- | src/MultiSrc.c | 9 |
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) |