updated for version 7.4.625
Problem: Possible NULL pointer dereference.
Solution: Check for NULL before using it. (Mike Williams)
diff --git a/src/if_py_both.h b/src/if_py_both.h
index a46b42a..497db86 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -747,12 +747,14 @@
else if (our_tv->v_type == VAR_DICT)
{
- hashtab_T *ht = &our_tv->vval.v_dict->dv_hashtab;
- long_u todo = ht->ht_used;
+ hashtab_T *ht;
+ long_u todo;
hashitem_T *hi;
dictitem_T *di;
+
if (our_tv->vval.v_dict == NULL)
return NULL;
+ ht = &our_tv->vval.v_dict->dv_hashtab;
if (!(ret = PyDict_New()))
return NULL;
@@ -763,6 +765,7 @@
return NULL;
}
+ todo = ht->ht_used;
for (hi = ht->ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
diff --git a/src/version.c b/src/version.c
index 70a8633..c14eac3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 625,
+/**/
624,
/**/
623,