Issue 7357: tarfile doesn't detect disk full error on extraction (original) (raw)

Created on 2009-11-19 15:21 by eliv, last changed 2022-04-11 14:56 by admin. This issue is now closed.

Messages (4)
msg95481 - (view) Author: Eli Venter (eliv) Date: 2009-11-19 15:21
tarfile doesn't seem to return any error or raise any exception when an extraction fills up the disk, making it hard to use safely. Both extractall and extract suffer from this problem. I'm using CentOS 5.2 and python 2.6.2.
msg95489 - (view) Author: Lars Gustäbel (lars.gustaebel) * (Python committer) Date: 2009-11-19 16:27
The TarFile constructor (as well as tarfile.open) takes an errorlevel keyword argument. See http://docs.python.org/dev/library/tarfile.html#tarfile-objects I quote: "If errorlevel is 0, all errors are ignored when using TarFile.extract(). Nevertheless, they appear as error messages in the debug output, when debugging is enabled. If 1, all fatal errors are raised as OSError or IOError exceptions. If 2, all non-fatal errors are raised as TarError exceptions as well." Hope that helps.
msg95550 - (view) Author: Eli Venter (eliv) Date: 2009-11-20 14:45
Yes, thanks errorlevel works as expected, and errors are correctly generated. It's quite unintuitive to ignore fatal errors by default however.
msg96330 - (view) Author: Lars Gustäbel (lars.gustaebel) * (Python committer) Date: 2009-12-13 11:50
I changed the default value for the errorlevel argument, so that fatal errors are now raised as regular exceptions by default (trunk: r76780, py3k: r76782). Thank you very much for bringing up this issue.
History
Date User Action Args
2022-04-11 14:56:54 admin set github: 51606
2009-12-13 11:50:06 lars.gustaebel set status: open -> closedtype: behaviorresolution: acceptedmessages: +
2009-11-20 14:45:32 eliv set messages: +
2009-11-19 16:27:09 lars.gustaebel set assignee: lars.gustaebelmessages: + nosy: + lars.gustaebel
2009-11-19 15:21:20 eliv create