Git.pm: make hash size independent
The cat_blob function was matching on exactly 40 hex characters. This won't work with SHA-256, which uses 64-character hex object IDs. While it should be fine to simply match any number of hex characters since the output is space delimited, be extra safe by matching either exactly 40 or exactly 64 hex characters. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
brian m. carlson committed
Feb 19, 2019 at 00:05 UTC
bcbb44ba053988fcc0d3ddb876c007898f345992
1 file changed
+1
-1
perl/Git.pm
+1
-1
@@ -980,7 +980,7 @@ sub cat_blob {
980
return -1;
981
}
982
983
- if ($description !~ /^[0-9a-fA-F]{40} \S+ (\d+)$/) {
983
+ if ($description !~ /^[0-9a-fA-F]{40}(?:[0-9a-fA-F]{24})? \S+ (\d+)$/) {
984
carp "Unexpected result returned from git cat-file";
985
return -1;
986
}