diff options
-rw-r--r-- | Objects/dictobject.c | 3 | ||||
-rw-r--r-- | Objects/mappingobject.c | 3 |
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; } |