From efc8713428b1f132c7d4bdf849593eb3684e7586 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Mon, 2 Jan 1995 19:42:39 +0000 Subject: * Objects/mappingobject.c (mappingremove): don't call lookmapping() for empty dictionary --- Objects/dictobject.c | 3 +++ Objects/mappingobject.c | 3 +++ 2 files changed, 6 insertions(+) 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; } -- cgit v0.12