loopback_latency: Fix buffer overflow error Fix buffer overflow when opening the wav file. It's caused by fread incorrectly uses file_size (in bytes) when reading shorts. The fix is to change the fread call to read file_size / sizeof(short). BUG=b:443098222 TEST=tast run $DUT audio.CrasCaptureLatency.no_effects Change-Id: I6f77f165d939b348331b18f6c0ddd57a423996a2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/audiotest/+/6999089 Auto-Submit: Norman Bintang <normanbt@chromium.org> Commit-Queue: Baili Deng <bailideng@google.com> Commit-Queue: Norman Bintang <normanbt@chromium.org> Tested-by: Norman Bintang <normanbt@chromium.org> Reviewed-by: Baili Deng <bailideng@google.com>
diff --git a/loopback_latency/common.c b/loopback_latency/common.c index c7eff85..7d770a2 100644 --- a/loopback_latency/common.c +++ b/loopback_latency/common.c
@@ -109,7 +109,8 @@ } // Read the PCM data from the file - size_t num_read = fread(*pcm_data, sizeof(short), file_size, file); + size_t num_read = + fread(*pcm_data, sizeof(short), file_size / sizeof(short), file); if (num_read <= 0) { fclose(file); fprintf(stderr, "Failed to read PCM data from file\n");