summaryrefslogtreecommitdiff
path: root/ext/Digest/MD5/t/badfile.t
diff options
context:
space:
mode:
Diffstat (limited to 'ext/Digest/MD5/t/badfile.t')
-rw-r--r--ext/Digest/MD5/t/badfile.t26
1 files changed, 26 insertions, 0 deletions
diff --git a/ext/Digest/MD5/t/badfile.t b/ext/Digest/MD5/t/badfile.t
new file mode 100644
index 0000000000..63effdfc21
--- /dev/null
+++ b/ext/Digest/MD5/t/badfile.t
@@ -0,0 +1,26 @@
+BEGIN {
+ chdir 't' if -d 't';
+ @INC = '../lib';
+}
+
+# Digest::MD5 2.07 and older used to trigger a core dump when
+# passed an illegal file handle that failed to open.
+
+print "1..2\n";
+
+use Digest::MD5 ();
+
+$md5 = Digest::MD5->new;
+
+eval {
+ use vars qw(*FOO);
+ $md5->addfile(*FOO);
+};
+print "not " unless $@ =~ /^Bad filehandle: FOO/;
+print "ok 1\n";
+
+open(BAR, "none-existing-file.$$");
+$md5->addfile(*BAR);
+
+print "not " unless $md5->hexdigest eq "d41d8cd98f00b204e9800998ecf8427e";
+print "ok 2\n";