From: Lars Gustäbel Date: Sun, 13 Dec 2009 11:32:27 +0000 (+0000) Subject: Issue #7357: No longer suppress fatal extraction errors by X-Git-Tag: v2.7a2~185 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=92ca7561bb52fbe934e5d5372bc34a4b904edf6a;p=python Issue #7357: No longer suppress fatal extraction errors by default. TarFile's errorlevel argument controls how errors are handled that occur during extraction. There are three possible levels 0, 1 and 2. If errorlevel is set to 1 or 2 fatal errors (e.g. a full filesystem) are raised as exceptions. If it is set to 0, which is the default value, extraction errors are suppressed, and error messages are written to the debug log instead. But, if the debug log is not activated, which is the default as well, all these errors go unnoticed. The original intention was to imitate GNU tar which tries to extract as many members as possible instead of stopping on the first error. It turns out that this is no good default behaviour for a tar library. This patch simply changes the default value for the errorlevel argument from 0 to 1, so that fatal extraction errors are raised as EnvironmentError exceptions. --- diff --git a/Lib/tarfile.py b/Lib/tarfile.py index f48b477bb6..eb42055dd2 100644 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -1489,7 +1489,7 @@ class TarFile(object): ignore_zeros = False # If true, skips empty or invalid blocks and # continues processing. - errorlevel = 0 # If 0, fatal errors only appear in debug + errorlevel = 1 # If 0, fatal errors only appear in debug # messages (if debug >= 0). If > 0, errors # are passed to the caller as exceptions. diff --git a/Misc/NEWS b/Misc/NEWS index 2ccef1001c..9cc7e82f6e 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -15,6 +15,9 @@ Core and Builtins Library ------- +- Issue #7357: tarfile no longer suppresses fatal extraction errors by + default. + - Issue #7470: logging: fix bug in Unicode encoding fallback. - Issue #5949: fixed IMAP4_SSL hang when the IMAP server response is