Bläddra i källkod

handle unpacker exception with tighter scope

Thomas Waldmann 9 år sedan
förälder
incheckning
852c583076
1 ändrade filer med 5 tillägg och 4 borttagningar
  1. 5 4
      borg/archive.py

+ 5 - 4
borg/archive.py

@@ -792,13 +792,14 @@ class RobustUnpacker:
                 self._unpacker.feed(data)
                 try:
                     item = next(self._unpacker)
+                except (TypeError, ValueError, StopIteration):
+                    # Ignore exceptions that might be raised when feeding
+                    # msgpack with invalid data
+                    pass
+                else:
                     if self.validator(item):
                         self._resync = False
                         return item
-                # Ignore exceptions that might be raised when feeding
-                # msgpack with invalid data
-                except (TypeError, ValueError, StopIteration):
-                    pass
                 data = data[1:]
         else:
             try: