bkabrda / rpms / grep

Forked from rpms/grep 6 years ago
Clone
0efa5e9
From 3e85874b1ea00d395a2add6b1cf38eef34bc2c38 Mon Sep 17 00:00:00 2001
0efa5e9
From: Tim Waugh <twaugh@redhat.com>
0efa5e9
Date: Sun, 23 Nov 2008 17:54:33 +0100
0efa5e9
Subject: [PATCH] Limit in-memory buffer size
0efa5e9
0efa5e9
Limit the amount of saved data to 200Mb so we don't fail on
0efa5e9
large files.
0efa5e9
0efa5e9
Original ticket: https://bugzilla.redhat.com/show_bug.cgi?id=198165
0efa5e9
---
0efa5e9
 src/grep.c |    6 ++++++
0efa5e9
 1 files changed, 6 insertions(+), 0 deletions(-)
0efa5e9
0efa5e9
diff --git a/src/grep.c b/src/grep.c
0efa5e9
index 4363b4a..46ce140 100644
0efa5e9
--- a/src/grep.c
0efa5e9
+++ b/src/grep.c
0efa5e9
@@ -492,6 +492,12 @@ fillbuf (size_t save, struct stats const *stats)
1697652
   int cc = 1;
1697652
   char *readbuf;
1697652
   size_t readsize;
1697652
+  const size_t max_save = 200 * 1024 * 1024;
1697652
+
1697652
+  /* Limit the amount of saved data to 200Mb so we don't fail on
1697652
+   * large files. */
1697652
+  if (save > max_save)
1697652
+    save = max_save;
1697652
 
1697652
   /* Offset from start of buffer to start of old stuff
1697652
      that we want to save.  */
0efa5e9
-- 
0efa5e9
1.5.5.1
0efa5e9