[GNOME-ABRT PATCH] Recover from invalid time stamp values

Richard Marko rmarko at redhat.com
Fri Aug 9 10:46:16 UTC 2013


Pushed, thanks!

On 08/09/2013 09:41 AM, Jakub Filak wrote:
> Closes rhbz#995337
>
> Signed-off-by: Jakub Filak <jfilak at redhat.com>
> ---
>  src/gnome_abrt/problems.py | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/src/gnome_abrt/problems.py b/src/gnome_abrt/problems.py
> index db1064e..c8ad175 100644
> --- a/src/gnome_abrt/problems.py
> +++ b/src/gnome_abrt/problems.py
> @@ -146,18 +146,26 @@ class Problem:
>          return items
>  
>      def __getitem__(self, item, cached=True):
> +        def datetime_from_stamp(stamp):
> +            try:
> +                return datetime.datetime.fromtimestamp(float(stamp))
> +            except TypeError:
> +                raise InvalidProblem(self.problem_id, "Empty time stamp")
> +            except ValueError:
> +                raise InvalidProblem(self.problem_id, "Invalid value in time stamp")
> +
>          if self.data is None:
>              # Load initial problem data into cache
>              self.__loaditems__(*Problem.INITIAL_ELEMENTS)
>  
>          if item == 'date':
> -            return datetime.datetime.fromtimestamp(float(self['time']))
> +            return datetime_from_stamp(self['time'])
>          if item == 'date_last':
>              last_ocr = self['last_occurrence']
>              if last_ocr:
> -                return datetime.datetime.fromtimestamp(float(last_ocr))
> +                return datetime_from_stamp(last_ocr)
>              else:
> -                return datetime.datetime.fromtimestamp(float(self['time']))
> +                return datetime_from_stamp(self['time'])
>          elif item == 'application':
>              return self.get_application()
>          elif item == 'is_reported':


-- 
Richard Marko



More information about the Crash-catcher mailing list