summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Objects/dictobject.c3
-rw-r--r--Objects/mappingobject.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 89fd314..bb4e051 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -322,8 +322,11 @@ mappingremove(op, key)
if (hash == -1)
return -1;
mp = (mappingobject *)op;
+ if (((mappingobject *)op)->ma_table == NULL)
+ goto empty;
ep = lookmapping(mp, key, hash);
if (ep->me_value == NULL) {
+ empty:
err_setval(KeyError, key);
return -1;
}
diff --git a/Objects/mappingobject.c b/Objects/mappingobject.c
index 89fd314..bb4e051 100644
--- a/Objects/mappingobject.c
+++ b/Objects/mappingobject.c
@@ -322,8 +322,11 @@ mappingremove(op, key)
if (hash == -1)
return -1;
mp = (mappingobject *)op;
+ if (((mappingobject *)op)->ma_table == NULL)
+ goto empty;
ep = lookmapping(mp, key, hash);
if (ep->me_value == NULL) {
+ empty:
err_setval(KeyError, key);
return -1;
}