Commit: patch 9.1.1975: blob2str() may call STRNCPY() with a NULL pointer

2 views
Skip to first unread message

Christian Brabandt

unread,
Dec 12, 2025, 3:15:48 AM (4 days ago) Dec 12
to vim...@googlegroups.com
patch 9.1.1975: blob2str() may call STRNCPY() with a NULL pointer

Commit: https://github.com/vim/vim/commit/3d06113c8c9628a478b0cf6c85248ff6ec5fac3a
Author: Foxe Chen <chen...@gmail.com>
Date: Fri Dec 12 08:52:07 2025 +0100

patch 9.1.1975: blob2str() may call STRNCPY() with a NULL pointer

Problem: blob2str() may call strcpy with a NULL pointer
Solution: Check for NULL before calling STRNCPY()

closes: #18907

Signed-off-by: Foxe Chen <chen...@gmail.com>
Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/strings.c b/src/strings.c
index 8bcd38a8f..228cff242 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -1242,6 +1242,7 @@ string_from_blob(blob_T *blob, long *start_idx)
garray_T str_ga;
long blen;
int idx;
+ char_u *ret_str = NULL;

ga_init2(&str_ga, sizeof(char), 80);

@@ -1262,7 +1263,8 @@ string_from_blob(blob_T *blob, long *start_idx)
ga_append(&str_ga, byte);
}

- char_u *ret_str = vim_strnsave(str_ga.ga_data, str_ga.ga_len);
+ if (str_ga.ga_data != NULL)
+ ret_str = vim_strnsave(str_ga.ga_data, str_ga.ga_len);
*start_idx = idx;

ga_clear(&str_ga);
diff --git a/src/version.c b/src/version.c
index a461d58c9..467629519 100644
--- a/src/version.c
+++ b/src/version.c
@@ -734,6 +734,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 1975,
/**/
1974,
/**/
Reply all
Reply to author
Forward
0 new messages