From: Georgi Gerganov Date: Thu, 24 Nov 2022 15:53:51 +0000 (+0200) Subject: main : fix dangling pointer when using stdin for input (#65) X-Git-Tag: upstream/1.7.4~1792 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=454b91de16cad988ffea4118b0a444e1ad4b28e7;p=pkg%2Fggml%2Fsources%2Fwhisper.cpp main : fix dangling pointer when using stdin for input (#65) --- diff --git a/examples/main/main.cpp b/examples/main/main.cpp index d9b86d30..d17f38f8 100644 --- a/examples/main/main.cpp +++ b/examples/main/main.cpp @@ -450,28 +450,27 @@ int main(int argc, char ** argv) { for (int f = 0; f < (int) params.fname_inp.size(); ++f) { const auto fname_inp = params.fname_inp[f]; + std::vector pcmf32; // mono-channel F32 PCM + // WAV input - std::vector pcmf32; { drwav wav; + std::vector wav_data; // used for pipe input from stdin if (fname_inp == "-") { - std::vector wav_data; { uint8_t buf[1024]; while (true) { const size_t n = fread(buf, 1, sizeof(buf), stdin); - if (n == 0) - { + if (n == 0) { break; } wav_data.insert(wav_data.end(), buf, buf + n); } } - if (drwav_init_memory(&wav, wav_data.data(), wav_data.size(), NULL) == false) - { + if (drwav_init_memory(&wav, wav_data.data(), wav_data.size(), NULL) == false) { fprintf(stderr, "error: failed to open WAV file from stdin\n"); return 4; }