Mercurial > vim
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