Blob Blame History Raw
From 85e018cbca5eb3743eddca91d3d40c3123fa9777 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@gnome.org>
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