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

[PATCH 5/6] http-push: check path length before using it

From
Tay Ray Chuan <rctay89@gmail.com>
Date
Nov 19, 2010, 12:46 UTC
Message-ID
<1290170790-2200-6-git-send-email-rctay89@gmail.com>
In-Reply-To
<1290170790-2200-5-git-send-email-rctay89@gmail.com>

We use path_len to skip the base url/path, but we do not know for sure if path does indeed contain the base url/path. Check if this is so.

Signed-off-by: Tay Ray Chuan <rctay89@gmail.com>
---
 http-push.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/http-push.c b/http-push.c
index 565e580..1c34b00 100644
--- a/http-push.c
+++ b/http-push.c
@@ -1116,8 +1116,14 @@ static void handle_remote_ls_ctx(struct xml_ctx *ctx, int tag_closed)
 				}
 			}
 			if (path) {
-				path += repo->path_len;
-				ls->dentry_name = xstrdup(path);
+				if (strncmp(path,
+					    (repo->path ? repo->path : repo->url),
+					    repo->path_len) == 0) {
+					path += repo->path_len;
+					ls->dentry_name = xstrdup(path);
+				} else
+					error("Parsed path '%s' does not match url: '%s'\n",
+					      path, (repo->path ? repo->path : repo->url));
 			}
 		} else if (!strcmp(ctx->name, DAV_PROPFIND_COLLECTION)) {
 			ls->dentry_flags |= IS_DIR;
-- 
1.7.3.67.g2a10b
Previous: Tay Ray ChuanNext: Tay Ray Chuan
Message 9 of 15 in “Normalise directory names when pushing to some WebDAV servers”
  1. Normalise directory names when pushing to some WebDAV serversGabriel Corona, Nov 19, 2010
  2. Tay Ray ChuanNov 19, 2010
  3. Jonathan NiederNov 19, 2010
  4. 0/6 http (dumb): end urls with slashTay Ray Chuan, Nov 19, 2010
  5. 1/6 shift end_url_with_slash() from http.[ch] to url.[ch]Tay Ray Chuan, Nov 19, 2010
  6. 2/6 url: add str wrapper for end_url_with_slash()Tay Ray Chuan, Nov 19, 2010
  7. 3/6 http-push: Normalise directory names when pushing to some WebDAV serversTay Ray Chuan, Nov 19, 2010
  8. 4/6 http-backend: use end_url_with_slash()Tay Ray Chuan, Nov 19, 2010
  9. 5/6 http-push: check path length before using itTay Ray Chuan, Nov 19, 2010
  10. 6/6 http-push: add trailing slash at arg-parse time, instead of later onTay Ray Chuan, Nov 19, 2010
  11. Jonathan NiederNov 19, 2010
  12. Tay Ray ChuanNov 20, 2010
  13. Jonathan NiederNov 19, 2010
  14. Junio C HamanoNov 19, 2010
  15. Tay Ray ChuanNov 20, 2010

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.