diff --git a/build/test/test.pl b/build/test/test.pl
index 5166c31e7573dfa447ae6c50bfc68594ad4650b0..a2379c03e607fbdb227e689afd6147573eb5bde7 100644
--- a/build/test/test.pl
+++ b/build/test/test.pl
@@ -68,7 +68,7 @@ sub req {
   my ($out, $buf) = ('', '');
   eval {
     alarm $timeout if $timeout;
-    $out .= $buf while (sysread($sock, $buf, 1024) > 0);
+    $out .= $buf while ((sysread($sock, $buf, 1024) or 0) > 0);
     alarm 0 if $timeout;
   };
   close $sock;