Revision: 1684
http://vcs.pcre.org/viewvc?view=rev&revision=1684
Author: ph10
Date: 2017-02-22 17:17:49 +0000 (Wed, 22 Feb 2017)
Log Message:
-----------
Avoid use of a potentially overflowing buffer in pcregrep.
Modified Paths:
--------------
code/trunk/ChangeLog
code/trunk/pcregrep.c
Modified: code/trunk/ChangeLog
===================================================================
--- code/trunk/ChangeLog 2017-02-20 18:23:39 UTC (rev 1683)
+++ code/trunk/ChangeLog 2017-02-22 17:17:49 UTC (rev 1684)
@@ -20,7 +20,10 @@
4. A (?# style comment is now ignored between a basic quantifier and a
following '+' or '?' (example: /X+(?#comment)?Y/.
+5. Avoid use of a potentially overflowing buffer in pcregrep (patch by Petr
+Pisar).
+
Version 8.40 11-January-2017
----------------------------
Modified: code/trunk/pcregrep.c
===================================================================
--- code/trunk/pcregrep.c 2017-02-20 18:23:39 UTC (rev 1683)
+++ code/trunk/pcregrep.c 2017-02-22 17:17:49 UTC (rev 1684)
@@ -3190,9 +3190,11 @@
cp->hint = pcre_study(cp->compiled, study_options, &error);
if (error != NULL)
{
- char s[16];
- if (patterns->next == NULL) s[0] = 0; else sprintf(s, " number %d", j);
- fprintf(stderr, "pcregrep: Error while studying regex%s: %s\n", s, error);
+ if (patterns->next == NULL)
+ fprintf(stderr, "pcregrep: Error while studying regex: %s\n", error);
+ else
+ fprintf(stderr, "pcregrep: Error while studying regex number %d: %s\n",
+ j, error);
goto EXIT2;
}
#ifdef SUPPORT_PCREGREP_JIT