Explorar o código

free_objects may have tried to free uninitialized / NULL pointers

Chris Eberle %!s(int64=13) %!d(string=hai) anos
pai
achega
e61520211f
Modificáronse 1 ficheiros con 6 adicións e 3 borrados
  1. 6 3
      dulwich/_diff_tree.c

+ 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;
 }