mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Doh --- what's really happening on buildfarm member grebe is that its
malloc returns NULL for malloc(0). Defend against that case.
This commit is contained in:
parent
e152893305
commit
94470b9499
@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/regexp.c,v 1.74 2007/09/21 22:52:52 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/regexp.c,v 1.75 2007/09/22 04:37:53 tgl Exp $
|
||||
*
|
||||
* Alistair Crooks added the code for the regex caching
|
||||
* agc - cached the regular expressions used - there's a good chance
|
||||
@ -195,10 +195,12 @@ RE_compile_and_cache(text *text_re, int cflags)
|
||||
}
|
||||
|
||||
/*
|
||||
* use malloc/free for the cre_pat field because the storage has to
|
||||
* persist across transactions
|
||||
* We use malloc/free for the cre_pat field because the storage has to
|
||||
* persist across transactions, and because we want to get control back
|
||||
* on out-of-memory. The Max() is because some malloc implementations
|
||||
* return NULL for malloc(0).
|
||||
*/
|
||||
re_temp.cre_pat = malloc(text_re_len);
|
||||
re_temp.cre_pat = malloc(Max(text_re_len, 1));
|
||||
if (re_temp.cre_pat == NULL)
|
||||
{
|
||||
pg_regfree(&re_temp.cre_re);
|
||||
|
Loading…
Reference in New Issue
Block a user