From 85e018cbca5eb3743eddca91d3d40c3123fa9777 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Tue, 19 Sep 2023 19:52:40 +0200 Subject: [PATCH] check for input buffer size on datastream::gets (backported from commit fa329f37dca4a2c938f8abb50ee4a7ef93e64fbb) --- src/libraw_datastream.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/libraw_datastream.cpp b/src/libraw_datastream.cpp index bd9cf5ee55d7..aecd3997a707 100644 --- a/src/libraw_datastream.cpp +++ b/src/libraw_datastream.cpp @@ -175,6 +175,7 @@ INT64 LibRaw_file_datastream::tell() char *LibRaw_file_datastream::gets(char *str, int sz) { + if(sz<1) return NULL; if (substream) return substream->gets(str, sz); LR_STREAM_CHK(); @@ -398,6 +399,7 @@ INT64 LibRaw_buffer_datastream::tell() char *LibRaw_buffer_datastream::gets(char *s, int sz) { + if(sz<1) return NULL; if (substream) return substream->gets(s, sz); unsigned char *psrc, *pdest, *str; @@ -594,6 +596,7 @@ INT64 LibRaw_bigfile_datastream::tell() char *LibRaw_bigfile_datastream::gets(char *str, int sz) { + if(sz<1) return NULL; LR_BF_CHK(); return substream ? substream->gets(str, sz) : fgets(str, sz, f); } -- 2.41.0