From 3b542021e471c2927e5225fa0680be4dbbc1da60 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Mon, 11 Jan 2021 15:44:42 +0100 Subject: [PATCH] Fuzzer: Gracefully handle hashes that cannot be serialized --- sapi/fuzzer/generate_unserializehash_corpus.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sapi/fuzzer/generate_unserializehash_corpus.php b/sapi/fuzzer/generate_unserializehash_corpus.php index 04c6ea14287..c7c59254280 100644 --- a/sapi/fuzzer/generate_unserializehash_corpus.php +++ b/sapi/fuzzer/generate_unserializehash_corpus.php @@ -6,5 +6,11 @@ $corpusDir = __DIR__ . '/corpus/unserializehash'; foreach (hash_algos() as $algo) { $ctx = hash_init($algo); $algx = preg_replace('/[^-_a-zA-Z0-9]/', '_', $algo); - file_put_contents($corpusDir . '/' . $algx, "x|" . serialize($ctx)); + try { + $serialized = serialize($ctx); + } catch (Exception $e) { + echo "Hash algorithm $algo could not be serialized.\n"; + continue; + } + file_put_contents($corpusDir . '/' . $algx, "x|" . $serialized); }