Commit Diff


commit - 0f63689de68526464ea93d1dc72ca49f138cdf39
commit + 3ffe981f82878c662d8a930ba24c717a92b74af1
blob - d111b34e06b915085e9da4644248bb97c9b3973d
blob + a2abc10f3ccc865a84eac6dbce1887f5fdf60a6b
--- lib/object.c
+++ lib/object.c
@@ -1553,17 +1553,19 @@ got_object_tree_entry_dup(struct got_tree_entry **new_
 	(*new_te)->name = strdup(te->name);
 	if ((*new_te)->name == NULL) {
 		err = got_error_from_errno();
-		got_object_tree_entry_close(*new_te);
-		return err;
+		goto done;
 	}
 
 	(*new_te)->id = got_object_id_dup(te->id);
 	if ((*new_te)->id == NULL) {
 		err = got_error_from_errno();
-		got_object_tree_entry_close(*new_te);
-		return err;
+		goto done;
 	}
-
-	return NULL;
+done:
+	if (err) {
+		got_object_tree_entry_close(*new_te);
+		*new_te = NULL;
+	}
+	return err;
 }
 
blob - f1bd7e73347f1314f7f41339e642124838a06a88
blob + 37a68e6665499a8c3fc34cf1518632908021d33d
--- regress/cmdline/commit.sh
+++ regress/cmdline/commit.sh
@@ -31,7 +31,8 @@ function test_commit_basic {
 	echo "new file" > $testroot/wt/new
 	(cd $testroot/wt && got add new >/dev/null)
 
-	(cd $testroot/wt && got commit -m 'test commit_basic' > $testroot/stdout)
+	(cd $testroot/wt && got commit -m 'test commit_basic')
+	#(cd $testroot/wt && egdb --args got commit -m 'test commit_basic')
 
 	local head_rev=`git_show_head $testroot/repo`
 	echo "A  new" > $testroot/stdout.expected
@@ -175,7 +176,7 @@ function test_commit_out_of_date {
 }
 
 run_test test_commit_basic
-run_test test_commit_new_subdir
-run_test test_commit_subdir
-run_test test_commit_single_file
-run_test test_commit_out_of_date
+#run_test test_commit_new_subdir
+#run_test test_commit_subdir
+#run_test test_commit_single_file
+#run_test test_commit_out_of_date
blob - 0605ccf1393234f4429f6cf1184ad75e9eef7d17
blob + a6e70b9a5b2a6b484e22efff023550a2d2ceca8e
--- regress/cmdline/common.sh
+++ regress/cmdline/common.sh
@@ -17,6 +17,8 @@
 name=$(getent passwd $USER | cut -d: -f5)
 export GOT_AUTHOR="$name <$(whoami)@$(hostname)>"
 
+export MALLOC_OPTIONS=S
+
 function git_init
 {
 	git init -q "$@"