changeset: 100107:82ee3c24bb86 branch: 2.7 parent: 100104:cebcd2fd3e1f user: Serhiy Storchaka date: Fri Jan 29 00:37:28 2016 +0200 files: Modules/zipimport.c description: Fixed an infinite loop in zipimport caused by cebcd2fd3e1f (issue #19883). diff -r cebcd2fd3e1f -r 82ee3c24bb86 Modules/zipimport.c --- a/Modules/zipimport.c Thu Jan 28 21:32:53 2016 +0200 +++ b/Modules/zipimport.c Fri Jan 29 00:37:28 2016 +0200 @@ -776,14 +776,14 @@ /* Start of Central Directory */ count = 0; + if (fseek(fp, (long)header_position, 0) == -1) { + goto file_error; + } for (;;) { PyObject *t; size_t n; int err; - if (fseek(fp, (long)header_position, 0) == -1) { - goto file_error; - } n = fread(buffer, 1, 46, fp); if (n < 4) { goto eof_error; @@ -837,7 +837,6 @@ goto file_error; } } - header_offset += header_size; strncpy(path + length + 1, name, MAXPATHLEN - length - 1);