diff options
Diffstat (limited to 'patches/source/LibRaw/bc3aaf4223fdb70d52d470dae65c5a7923ea2a49.patch')
-rw-r--r-- | patches/source/LibRaw/bc3aaf4223fdb70d52d470dae65c5a7923ea2a49.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/patches/source/LibRaw/bc3aaf4223fdb70d52d470dae65c5a7923ea2a49.patch b/patches/source/LibRaw/bc3aaf4223fdb70d52d470dae65c5a7923ea2a49.patch new file mode 100644 index 000000000..b5b3d3a67 --- /dev/null +++ b/patches/source/LibRaw/bc3aaf4223fdb70d52d470dae65c5a7923ea2a49.patch @@ -0,0 +1,37 @@ +From bc3aaf4223fdb70d52d470dae65c5a7923ea2a49 Mon Sep 17 00:00:00 2001 +From: Alex Tutubalin <lexa@lexa.ru> +Date: Mon, 12 Apr 2021 13:21:52 +0300 +Subject: [PATCH] check for input buffer size on datastream::gets + +--- + src/libraw_datastream.cpp | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/libraw_datastream.cpp b/src/libraw_datastream.cpp +index a5c1a84a..a31ae9dd 100644 +--- a/src/libraw_datastream.cpp ++++ b/src/libraw_datastream.cpp +@@ -287,6 +287,7 @@ INT64 LibRaw_file_datastream::tell() + + char *LibRaw_file_datastream::gets(char *str, int sz) + { ++ if(sz<1) return NULL; + LR_STREAM_CHK(); + std::istream is(f.get()); + is.getline(str, sz); +@@ -421,6 +422,7 @@ INT64 LibRaw_buffer_datastream::tell() + + char *LibRaw_buffer_datastream::gets(char *s, int sz) + { ++ if(sz<1) return NULL; + unsigned char *psrc, *pdest, *str; + str = (unsigned char *)s; + psrc = buf + streampos; +@@ -618,6 +620,7 @@ INT64 LibRaw_bigfile_datastream::tell() + + char *LibRaw_bigfile_datastream::gets(char *str, int sz) + { ++ if(sz<1) return NULL; + LR_BF_CHK(); + return fgets(str, sz, f); + } |