fuzz: Re-implement read_stdin in portable way

This commit is contained in:
Hennadii Stepanov 2024-04-18 10:18:44 +01:00
parent e31956980e
commit 09f5a74198
No known key found for this signature in database
GPG key ID: 410108112E7EA81F

View file

@ -25,7 +25,6 @@
#include <memory>
#include <string>
#include <tuple>
#include <unistd.h>
#include <utility>
#include <vector>
@ -135,9 +134,9 @@ void initialize()
#if defined(PROVIDE_FUZZ_MAIN_FUNCTION)
static bool read_stdin(std::vector<uint8_t>& data)
{
uint8_t buffer[1024];
ssize_t length = 0;
while ((length = read(STDIN_FILENO, buffer, 1024)) > 0) {
std::istream::char_type buffer[1024];
std::streamsize length;
while ((std::cin.read(buffer, 1024), length = std::cin.gcount()) > 0) {
data.insert(data.end(), buffer, buffer + length);
}
return length == 0;