Git.pm: add semicolon after catch statement
When attempting to initialize a repository object in an unsafe directory, a syntax error is reported (Can't use string as a HASH ref while strict refs in use). Fix this runtime error by adding the required semicolon after the catch statement. Without the semicolon, the result of the following line (i.e., the result of Cwd::abs_path) is passed as the third argument to Error.pm's catch function. That function expects that its third argument, $clauses, is a hash reference, and trying to access a string as a hash reference is a fatal error. [1] https://lore.kernel.org/git/20221011182607.f1113fff-9333-427d-ba45-741a78fa6040@korelogic.com/ Reported-by: Hank Leininger <hlein@korelogic.com> Signed-off-by: Michael McClimon <michael@mcclimon.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3dcec76d9d
commit
77a1310e6b
@ -217,7 +217,7 @@ sub repository {
|
|||||||
} catch Git::Error::Command with {
|
} catch Git::Error::Command with {
|
||||||
# Mimic git-rev-parse --git-dir error message:
|
# Mimic git-rev-parse --git-dir error message:
|
||||||
throw Error::Simple("fatal: Not a git repository: $dir");
|
throw Error::Simple("fatal: Not a git repository: $dir");
|
||||||
}
|
};
|
||||||
|
|
||||||
$opts{Repository} = Cwd::abs_path($dir);
|
$opts{Repository} = Cwd::abs_path($dir);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user