diff src/dict.c @ 31184:6b218e595d9f v9.0.0926

patch 9.0.0926: Coverity warns for not using return value of dict_add() Commit: https://github.com/vim/vim/commit/bc222152d8dea252aa5f1fa24b5536ed269feb92 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Nov 23 11:34:01 2022 +0000 patch 9.0.0926: Coverity warns for not using return value of dict_add() Problem: Coverity warns for not using return value of dict_add(). Solution: When dict_add() fails then don't call hash_remove().
author Bram Moolenaar <Bram@vim.org>
date Wed, 23 Nov 2022 12:45:04 +0100
parents a86ee6c0309e
children 684e6dfa2fba
line wrap: on
line diff
--- a/src/dict.c
+++ b/src/dict.c
@@ -1122,10 +1122,11 @@ dict_extend(dict_T *d1, dict_T *d2, char
 	    {
 		if (*action == 'm')
 		{
-		    // cheap way to move a dict item from "d2" to "d1"
+		    // Cheap way to move a dict item from "d2" to "d1".
+		    // If dict_add() fails then "d2" won't be empty.
 		    di1 = HI2DI(hi2);
-		    dict_add(d1, di1);
-		    hash_remove(&d2->dv_hashtab, hi2);
+		    if (dict_add(d1, di1) == OK)
+			hash_remove(&d2->dv_hashtab, hi2);
 		}
 		else
 		{