Dont free everytime getline() is used, fix from Stefan Soucek
diff --git a/archival/dpkg.c b/archival/dpkg.c
index 437b50d..a97a5a2 100644
--- a/archival/dpkg.c
+++ b/archival/dpkg.c
@@ -1042,11 +1042,10 @@
 			*last_char = '\0';
 		}
 		file_list[count] = xstrdup(line);
-		free(line);
 		count++;
-		length = 0;
 	}
 	fclose(list_stream);
+	free(line);
 
 	if (count == 0) {
 		return(NULL);