]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Ensure that memcmp() does not run off the end of memory, per Kurt Roeckx.
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 3 Feb 2004 17:56:04 +0000 (17:56 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 3 Feb 2004 17:56:04 +0000 (17:56 +0000)
(Same patch committed to HEAD but I fat-fingered the commit message...)

src/backend/utils/adt/regexp.c

index 66976b9d83ee934fb7c23d4e15cda36128d008e6..babafa0b98040e6c5d57096f3512d7fabbbfb876 100644 (file)
@@ -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)
                {
                        /*