Tolerate fields with no data, e.g. "Depends: "
diff --git a/dpkg.c b/dpkg.c
index ffe7467..189b0a8 100644
--- a/dpkg.c
+++ b/dpkg.c
@@ -517,10 +517,19 @@
 		field_start += (field_length + 1);
 
 		seperator_offset = strcspn(field, ":");
+		if (seperator_offset == 0) {
+			free(field);
+			continue;
+		}
 		field_name = xstrndup(field, seperator_offset);
 		field_value = field + seperator_offset + 1;
 		field_value += strspn(field_value, " \n\t");
 
+		/* Should be able to replace this strlen with pointer arithmatic */
+		if (strlen(field_value) == 0) {
+			goto fill_package_struct_cleanup; // Oh no, the dreaded goto statement !!
+		}
+
 		if (strcmp(field_name, "Package") == 0) {
 			new_node->name = search_name_hashtable(field_value);
 		}
@@ -551,6 +560,7 @@
 		else if (strcmp(field_name, "Enhances") == 0) {
 			add_split_dependencies(new_node, field_value, EDGE_ENHANCES);
 		}
+fill_package_struct_cleanup:
 		free(field_name);
 		free(field);
 	}