[PATCH] remote.c: correct the check for a leading '/' in a remote name
- From
Brandon Casey <casey@nrlssc.navy.mil>
- Date
- Oct 14, 2008, 20:30 UTC
- Message-ID
- <J-KL1Cgc2b78Lced5uBNDhP0MHdg91do73K_0waicFQYbDZHjYkocw@cipher.nrlssc.navy.mil>
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(-)
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