summaryrefslogtreecommitdiffstats
path: root/Modules/zipimport.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2015-03-20 09:52:25 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2015-03-20 09:52:25 (GMT)
commitfbd6f9ed124c89753f6e3fd2cd84e4d9c474cc1f (patch)
tree33e90e8c09bd4db6df2c20a82f1a923799b8406f /Modules/zipimport.c
parent99953006df1414b048bfc76f66cb36a0fb31a4b7 (diff)
downloadcpython-fbd6f9ed124c89753f6e3fd2cd84e4d9c474cc1f.zip
cpython-fbd6f9ed124c89753f6e3fd2cd84e4d9c474cc1f.tar.gz
cpython-fbd6f9ed124c89753f6e3fd2cd84e4d9c474cc1f.tar.bz2
Issue #23696: Chain ZipImportError to the OSError
Diffstat (limited to 'Modules/zipimport.c')
-rw-r--r--Modules/zipimport.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index e83214c..38dc0c4 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -875,8 +875,12 @@ read_directory(PyObject *archive)
fp = _Py_fopen_obj(archive, "rb");
if (fp == NULL) {
- if (PyErr_ExceptionMatches(PyExc_OSError))
+ if (PyErr_ExceptionMatches(PyExc_OSError)) {
+ PyObject *exc, *val, *tb;
+ PyErr_Fetch(&exc, &val, &tb);
PyErr_Format(ZipImportError, "can't open Zip file: %R", archive);
+ _PyErr_ChainExceptions(exc, val, tb);
+ }
return NULL;
}