summaryrefslogtreecommitdiffstats
path: root/patches/source/LibRaw/bc3aaf4223fdb70d52d470dae65c5a7923ea2a49.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/source/LibRaw/bc3aaf4223fdb70d52d470dae65c5a7923ea2a49.patch')
-rw-r--r--patches/source/LibRaw/bc3aaf4223fdb70d52d470dae65c5a7923ea2a49.patch37
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);
+ }