threads / patch / 15898

patchremote.c: correct the check for a leading '/' in a remote name

Subject: [PATCH] remote.c: correct the check for a leading '/' in a remote name

## tl;dr

2 messages between Oct 14, 2008 and Oct 14, 2008. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Brandon Casey· Oct 14, 2008, 20:30 UTC · lore

This test is supposed to disallow remote entries in the config file of the form:

   [remote "/foobar"]
      ...
The leading slash in '/foobar' is not acceptable.

Instead it was incorrectly testing that the subkey had no leading '/', which had no effect since the subkey pointer was made to point at a '.' in the preceding lines.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
---

I stumbled across this code which looks like a mistake. This patch seems like the correct fix.

-brandon
 remote.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
Show changes to remote.c +5 −4
diff --git a/remote.c b/remote.c
index d5efadd..8a04066 100644
--- a/remote.c
+++ b/remote.c
@@ -341,13 +341,14 @@ static int handle_config(const char *key, const char *value, void *cb)
 	if (prefixcmp(key,  "remote."))
 		return 0;
 	name = key + 7;
+	if (*name == '/') {
+		warning("Config remote shorthand cannot begin with '/': %s",
+			name);
+		return 0;
+	}
 	subkey = strrchr(name, '.');
 	if (!subkey)
 		return error("Config with no key for remote %s", name);
-	if (*subkey == '/') {
-		warning("Config remote shorthand cannot begin with '/': %s", name);
-		return 0;
-	}
 	remote = make_remote(name, subkey - name);
 	if (!strcmp(subkey, ".mirror"))
 		remote->mirror = git_config_bool(key, value);
-- 
1.6.0.2.468.gd5b83
Daniel Barkalow· Oct 14, 2008, 20:35 UTC · re: Brandon Casey · lore

Re: [PATCH] remote.c: correct the check for a leading '/' in a remote name

On Tue, 14 Oct 2008, Brandon Casey wrote:
Show 13 quoted lines
> This test is supposed to disallow remote entries in the config file of the
> form:
> 
>    [remote "/foobar"]
>       ...
> 
> The leading slash in '/foobar' is not acceptable.
> 
> Instead it was incorrectly testing that the subkey had no leading '/', which
> had no effect since the subkey pointer was made to point at a '.' in the
> preceding lines.
> 
> Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>

Good catch; looks like I was checking for a mistake that nobody ever makes, but it's still good to check.

Acked-by: Daniel Barkalow <barkalow@iabervon.org>

← back to recent threads