changeset 31908:1ae3ad2e3d03 v9.0.1286

patch 9.0.1286: Coverity warns for using a NULL pointer Commit: https://github.com/vim/vim/commit/546933f4974d0e0966a4d4e78a6a46b7532d71c6 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Feb 6 16:40:49 2023 +0000 patch 9.0.1286: Coverity warns for using a NULL pointer Problem: Coverity warns for using a NULL pointer. Solution: Bail out whan "varp" is NULL.
author Bram Moolenaar <Bram@vim.org>
date Mon, 06 Feb 2023 17:45:05 +0100
parents c3525d8cfea3
children 998a31937647
files src/option.c src/version.c
diffstat 2 files changed, 13 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/option.c
+++ b/src/option.c
@@ -1815,7 +1815,8 @@ do_set_string(
 }
 
 /*
- * Set a boolean option
+ * Set a boolean option.
+ * Returns an untranslated error message or NULL.
  */
     static char *
 do_set_option_bool(
@@ -1833,6 +1834,8 @@ do_set_option_bool(
 
     if (nextchar == '=' || nextchar == ':')
 	return e_invalid_argument;
+    if (opt_idx < 0 || varp == NULL)
+	return NULL;  // "cannot happen"
 
     /*
      * ":set opt!": invert
@@ -1870,7 +1873,8 @@ do_set_option_bool(
 }
 
 /*
- * Set a numeric option
+ * Set a numeric option.
+ * Returns an untranslated error message or NULL.
  */
     static char *
 do_set_option_numeric(
@@ -1890,6 +1894,9 @@ do_set_option_numeric(
     int			i;
     char		*errmsg = NULL;
 
+    if (opt_idx < 0 || varp == NULL)
+	return NULL;  // "cannot happen"
+		      //
     /*
      * Different ways to set a number option:
      * &	    set to default value
@@ -2209,8 +2216,8 @@ do_set_option(
     }
 
     /*
-     * allow '=' and ':' for historical reasons (MSDOS command.com
-     * allows only one '=' character per "set" command line. grrr. (jw)
+     * Allow '=' and ':' for historical reasons (MSDOS command.com).
+     * Allows only one '=' character per "set" command line. grrr. (jw)
      */
     if (nextchar == '?'
 	    || (prefix == PREFIX_NONE
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1286,
+/**/
     1285,
 /**/
     1284,