Sfoglia il codice sorgente

Merge fix to avoid calling free_objects() on NULL in _diff_tree.c.

Jelmer Vernooij 13 anni fa
parent
commit
1e2d4d0751
2 ha cambiato i file con 8 aggiunte e 3 eliminazioni
  1. 2 0
      NEWS
  2. 6 3
      dulwich/_diff_tree.c

+ 2 - 0
NEWS

@@ -8,6 +8,8 @@
   * Fix get_transport_and_path for HTTP/HTTPS URLs.
     (Bruno Renié)
 
+  * Avoid calling free_objects() on NULL in error cases. (Chris Eberle)
+
 0.8.1	2011-10-31
 
  FEATURES

+ 6 - 3
dulwich/_diff_tree.c

@@ -135,7 +135,8 @@ static PyObject **tree_entries(char *path, Py_ssize_t path_len, PyObject *tree,
 	return result;
 
 error:
-	free_objects(result, i);
+	if (result)
+		free_objects(result, i);
 	Py_DECREF(items);
 	return NULL;
 }
@@ -243,8 +244,10 @@ error:
 	result = NULL;
 
 done:
-	free_objects(entries1, n1);
-	free_objects(entries2, n2);
+	if (entries1)
+		free_objects(entries1, n1);
+	if (entries2)
+		free_objects(entries2, n2);
 	return result;
 }