From 26af69a9d3a78ff1ddbffc208496aabee0cc8f64 Mon Sep 17 00:00:00 2001 From: Jason Karns <jason@karns.name> Date: Fri, 15 Jan 2016 16:47:54 -0500 Subject: [PATCH] Unknown checksum algorithms (based on length) are errors --- bin/ruby-build | 5 ++++- test/fixtures/definitions/with-invalid-checksum | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/bin/ruby-build b/bin/ruby-build index 9b11793a..4262cfa2 100755 --- a/bin/ruby-build +++ b/bin/ruby-build @@ -247,7 +247,7 @@ compute_md5() { } verify_checksum() { - local checksum_command="compute_sha2" + local checksum_command # If the specified filename doesn't exist, return success local filename="$1" @@ -266,6 +266,9 @@ verify_checksum() { [ -n "$HAS_SHA2_SUPPORT" ] || return 0 checksum_command="compute_sha2" ;; + *) # unknown checksum algorithm, return failure + return 1 + ;; esac # If the computed checksum is empty, return failure diff --git a/test/fixtures/definitions/with-invalid-checksum b/test/fixtures/definitions/with-invalid-checksum index 1183810f..bb2572a9 100644 --- a/test/fixtures/definitions/with-invalid-checksum +++ b/test/fixtures/definitions/with-invalid-checksum @@ -1 +1 @@ -install_package "package-1.0.0" "http://example.com/packages/package-1.0.0.tar.gz#invalid" copy +install_package "package-1.0.0" "http://example.com/packages/package-1.0.0.tar.gz#invalid_64_character_checksum_0000000000000000000000000000000000" copy