]> err.no Git - dak/commitdiff
parse_file_list: really handle files without an entry in the Files field
authorAnsgar Burchardt <ansgar@debian.org>
Thu, 7 Mar 2013 06:42:44 +0000 (07:42 +0100)
committerAnsgar Burchardt <ansgar@debian.org>
Thu, 7 Mar 2013 06:44:26 +0000 (07:44 +0100)
We have to raise an exception right away after all if "entry" is None as we
later assign to "entry['sha*sum']".

daklib/upload.py

index 059cc51189299f5bbad2f3732e340fd7ad29552b..1683b8b0f4b152fe38c9641441d8ed1cef6ca4ef 100644 (file)
@@ -191,6 +191,8 @@ def parse_file_list(control, has_priority_and_section):
             continue
         (sha1sum, size, filename) = line.split()
         entry = entries.get(filename, None)
+        if entry is None:
+            raise InvalidChangesException('{0} is listed in Checksums-Sha1, but not in Files.'.format(filename))
         if entry is not None and entry.get('size', None) != long(size):
             raise InvalidChangesException('Size for {0} in Files and Checksum-Sha1 fields differ.'.format(filename))
         entry['sha1sum'] = sha1sum
@@ -200,6 +202,8 @@ def parse_file_list(control, has_priority_and_section):
             continue
         (sha256sum, size, filename) = line.split()
         entry = entries.get(filename, None)
+        if entry is None:
+            raise InvalidChangesException('{0} is listed in Checksums-Sha256, but not in Files.'.format(filename))
         if entry is not None and entry.get('size', None) != long(size):
             raise InvalidChangesException('Size for {0} in Files and Checksum-Sha256 fields differ.'.format(filename))
         entry['sha256sum'] = sha256sum