From 3cada4cef46e1ad2ba47a801ac453af95936dfdb Mon Sep 17 00:00:00 2001 From: James Zern Date: Fri, 19 Apr 2024 12:44:43 -0700 Subject: [PATCH] ImgIoUtilReadFile: check ftell() return This avoids attempting to allocate 0 bytes if the call fails. (An additional byte is added to the result to allow a '\0' to be appended.) Bug: chromium:334120888 Change-Id: Ifcb8ff7744c567cbd08051aa04cc66acf936078d --- imageio/imageio_util.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/imageio/imageio_util.c b/imageio/imageio_util.c index df37137e..4ae4e03c 100644 --- a/imageio/imageio_util.c +++ b/imageio/imageio_util.c @@ -89,6 +89,11 @@ int ImgIoUtilReadFile(const char* const file_name, } fseek(in, 0, SEEK_END); file_size = ftell(in); + if (file_size == (size_t)-1) { + fclose(in); + WFPRINTF(stderr, "error getting size of '%s'\n", (const W_CHAR*)file_name); + return 0; + } fseek(in, 0, SEEK_SET); // we allocate one extra byte for the \0 terminator file_data = (uint8_t*)WebPMalloc(file_size + 1);