[ABRT PATCH] abrt-python: open dirs read-only if possible
Jakub Filak
jfilak at redhat.com
Wed May 22 13:51:22 UTC 2013
Pushed. Thanks!
On Tuesday 21 of May 2013 14:58:03 Richard Marko wrote:
> list and get_item functions now pass
> DD_OPEN_READONLY to dd_opendir.
>
> Signed-off-by: Richard Marko <rmarko at redhat.com>
> ---
> src/python-problem/problem/proxies.py | 19 ++++++++++---------
> 1 file changed, 10 insertions(+), 9 deletions(-)
>
> diff --git a/src/python-problem/problem/proxies.py
> b/src/python-problem/problem/proxies.py index 1bd89a4..e33973c 100644
> --- a/src/python-problem/problem/proxies.py
> +++ b/src/python-problem/problem/proxies.py
> @@ -144,8 +144,12 @@ class FsProxy(object):
> ddir.close()
> return ret
>
> - def _open_ddir(self, dump_dir):
> - ddir = report.dd_opendir(dump_dir)
> + def _open_ddir(self, dump_dir, readonly=False):
> + flags = 0
> + if readonly:
> + flags |= report.DD_OPEN_READONLY
> +
> + ddir = report.dd_opendir(dump_dir, flags)
> if not ddir:
> raise problem.exception.InvalidProblem(
> 'Can\'t open directory: {0}'.format(dump_dir))
> @@ -153,14 +157,11 @@ class FsProxy(object):
> return ddir
>
> def get_item(self, dump_dir, name):
> - ddir = self._open_ddir(dump_dir)
> + ddir = self._open_ddir(dump_dir, readonly=True)
>
> flags = (report.DD_FAIL_QUIETLY_EACCES |
> - report.DD_FAIL_QUIETLY_ENOENT |
> - report.DD_LOAD_TEXT_RETURN_NULL_ON_FAILURE)
> -
> - if hasattr(report, 'DD_OPEN_READONLY'):
> - flags |= report.DD_OPEN_READONLY
> + report.DD_FAIL_QUIETLY_ENOENT |
> + report.DD_LOAD_TEXT_RETURN_NULL_ON_FAILURE)
>
> val = ddir.load_text(name, flags)
>
> @@ -199,7 +200,7 @@ class FsProxy(object):
> dir_stat.st_gid != gid):
> continue
>
> - ddir = report.dd_opendir(dump_dir)
> + ddir = report.dd_opendir(dump_dir, report.DD_OPEN_READONLY)
> if ddir:
> ddir.close()
> yield dump_dir
More information about the Crash-catcher
mailing list