]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Git.pm: add semicolon after catch statement
authorMichael McClimon <michael@mcclimon.org>
Sun, 16 Oct 2022 21:22:36 +0000 (17:22 -0400)
committerJunio C Hamano <gitster@pobox.com>
Tue, 18 Oct 2022 05:13:04 +0000 (22:13 -0700)
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>
perl/Git.pm

index 080cdc2a21d32da831524a088edf0635357c78df..cf15ead664a7b0368ba6e429c9d4e5fa9abe032e 100644 (file)
@@ -217,7 +217,7 @@ sub repository {
                        } catch Git::Error::Command with {
                                # Mimic git-rev-parse --git-dir error message:
                                throw Error::Simple("fatal: Not a git repository: $dir");
-                       }
+                       };
 
                        $opts{Repository} = Cwd::abs_path($dir);
                }