aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/regexp.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2004-02-03 17:56:04 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2004-02-03 17:56:04 +0000
commit2194ed88de490e303811debd454199ba0fd69558 (patch)
tree1589d11783ff9fb336a449b16acdf8d048ee1d2f /src/backend/utils/adt/regexp.c
parent932001350b8e18074a4fc291fe98e910b6d96b5a (diff)
downloadpostgresql-2194ed88de490e303811debd454199ba0fd69558.tar.gz
postgresql-2194ed88de490e303811debd454199ba0fd69558.zip
Ensure that memcmp() does not run off the end of memory, per Kurt Roeckx.
(Same patch committed to HEAD but I fat-fingered the commit message...)
Diffstat (limited to 'src/backend/utils/adt/regexp.c')
-rw-r--r--src/backend/utils/adt/regexp.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/utils/adt/regexp.c b/src/backend/utils/adt/regexp.c
index 66976b9d83e..babafa0b980 100644
--- a/src/backend/utils/adt/regexp.c
+++ b/src/backend/utils/adt/regexp.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/regexp.c,v 1.49 2003/08/08 21:42:07 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/regexp.c,v 1.49.4.1 2004/02/03 17:56:04 tgl Exp $
*
* Alistair Crooks added the code for the regex caching
* agc - cached the regular expressions used - there's a good chance
@@ -118,7 +118,8 @@ RE_compile_and_execute(text *text_re, unsigned char *dat, int dat_len,
*/
for (i = 0; i < num_res; i++)
{
- if (memcmp(re_array[i].cre_pat, text_re, text_re_len) == 0 &&
+ if (VARSIZE(re_array[i].cre_pat) == text_re_len &&
+ memcmp(re_array[i].cre_pat, text_re, text_re_len) == 0 &&
re_array[i].cre_flags == cflags)
{
/*