git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] http-push: fix webdav lock leak.

From
GBGrégoire Barbier <gb@gbarbier.org>
Date
Jan 13, 2008, 19:02 UTC
Message-ID
<1200250979-19604-2-git-send-email-gb@gbarbier.org>
In-Reply-To
<1200250979-19604-1-git-send-email-gb@gbarbier.org>

Releasing webdav lock even if push fails because of bad (or no) reference on command line.

Signed-off-by: Grégoire Barbier <gb@gbarbier.org>
---
 http-push.c |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/http-push.c b/http-push.c
index c005903..cbbf432 100644
--- a/http-push.c
+++ b/http-push.c
@@ -2275,11 +2275,14 @@ int main(int argc, char **argv)
 	if (!remote_tail)
 		remote_tail = &remote_refs;
 	if (match_refs(local_refs, remote_refs, &remote_tail,
-		       nr_refspec, (const char **) refspec, push_all))
-		return -1;
+		       nr_refspec, (const char **) refspec, push_all)) {
+		rc = -1;
+		goto cleanup;
+	}
 	if (!remote_refs) {
 		fprintf(stderr, "No refs in common and none specified; doing nothing.\n");
-		return 0;
+		rc = 0;
+		goto cleanup;
 	}
 
 	new_refs = 0;
@@ -2410,10 +2413,10 @@ int main(int argc, char **argv)
 			fprintf(stderr, "Unable to update server info\n");
 		}
 	}
-	if (info_ref_lock)
-		unlock_remote(info_ref_lock);
 
  cleanup:
+	if (info_ref_lock)
+		unlock_remote(info_ref_lock);
 	free(remote);
 
 	curl_slist_free_all(no_pragma_header);
-- 
1.5.3.6
Previous: Grégoire BarbierNext: Grégoire Barbier
Message 2 of 24 in “http-push: making HTTP push more robust and more user-friendly”
  1. http-push: making HTTP push more robust and more user-friendlyGrégoire Barbier, Jan 13, 2008
  2. http-push: fix webdav lock leak.Grégoire Barbier, Jan 13, 2008
  3. http-push: disable http-push without USE_CURL_MULTIGrégoire Barbier, Jan 13, 2008
  4. Junio C HamanoJan 13, 2008
  5. Johannes SchindelinJan 14, 2008
  6. Junio C HamanoJan 14, 2008
  7. Johannes SchindelinJan 14, 2008
  8. Grégoire BarbierJan 19, 2008
  9. Johannes SchindelinJan 19, 2008
  10. Grégoire BarbierJan 21, 2008
  11. Junio C HamanoJan 21, 2008
  12. Grégoire BarbierJan 21, 2008
  13. Junio C HamanoJan 21, 2008
  14. Johannes SchindelinJan 21, 2008
  15. Junio C HamanoJan 21, 2008
  16. Mike HommeyJan 21, 2008
  17. Johannes SchindelinJan 22, 2008
  18. Junio C HamanoJan 22, 2008
  19. Johannes SchindelinJan 22, 2008
  20. Junio C HamanoJan 22, 2008
  21. Johannes SchindelinJan 22, 2008
  22. Daniel BarkalowJan 21, 2008
  23. Junio C HamanoJan 21, 2008
  24. Grégoire BarbierJan 21, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.