From: Bram Moolenaar Date: Thu, 9 Nov 2017 21:10:33 +0000 (+0100) Subject: patch 8.0.1283: test 86 fails under ASAN X-Git-Tag: v8.0.1283 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9ed7d34af303190bb222624157e0c6cd78b7d120;p=vim patch 8.0.1283: test 86 fails under ASAN Problem: Test 86 fails under ASAN. Solution: Fix that an item was added to a dictionary twice. --- diff --git a/src/if_py_both.h b/src/if_py_both.h index 180196726..3380142d1 100644 --- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -1996,6 +1996,7 @@ DictionaryUpdate(DictionaryObject *self, PyObject *args, PyObject *kwargs) PyObject *todecref; char_u *key; dictitem_T *di; + hashitem_T *hi; if (!(fast = PySequence_Fast(item, ""))) { @@ -2052,7 +2053,8 @@ DictionaryUpdate(DictionaryObject *self, PyObject *args, PyObject *kwargs) Py_DECREF(fast); - if (dict_add(dict, di) == FAIL) + hi = hash_find(&dict->dv_hashtab, di->di_key); + if (!HASHITEM_EMPTY(hi) || dict_add(dict, di) == FAIL) { RAISE_KEY_ADD_FAIL(di->di_key); Py_DECREF(iterator); diff --git a/src/version.c b/src/version.c index b2a3ce40a..c74f06251 100644 --- a/src/version.c +++ b/src/version.c @@ -761,6 +761,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1283, /**/ 1282, /**/