10
10
*
11
11
*
12
12
* IDENTIFICATION
13
- * $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.187 2009/06/21 20:15:32 petere Exp $
13
+ * $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.188 2009/06/24 13:39:42 mha Exp $
14
14
*
15
15
*-------------------------------------------------------------------------
16
16
*/
@@ -1493,7 +1493,7 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name,
1493
1493
char errstr [100 ];
1494
1494
1495
1495
pg_regerror (r , & re , errstr , sizeof (errstr ));
1496
- ereport (ERROR ,
1496
+ ereport (LOG ,
1497
1497
(errcode (ERRCODE_INVALID_REGULAR_EXPRESSION ),
1498
1498
errmsg ("invalid regular expression \"%s\": %s" , file_ident_user + 1 , errstr )));
1499
1499
@@ -1515,7 +1515,7 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name,
1515
1515
{
1516
1516
/* REG_NOMATCH is not an error, everything else is */
1517
1517
pg_regerror (r , & re , errstr , sizeof (errstr ));
1518
- ereport (ERROR ,
1518
+ ereport (LOG ,
1519
1519
(errcode (ERRCODE_INVALID_REGULAR_EXPRESSION ),
1520
1520
errmsg ("regular expression match for \"%s\" failed: %s" , file_ident_user + 1 , errstr )));
1521
1521
* error_p = true;
@@ -1531,10 +1531,15 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name,
1531
1531
{
1532
1532
/* substitution of the first argument requested */
1533
1533
if (matches [1 ].rm_so < 0 )
1534
- ereport (ERROR ,
1534
+ {
1535
+ ereport (LOG ,
1535
1536
(errcode (ERRCODE_INVALID_REGULAR_EXPRESSION ),
1536
1537
errmsg ("regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"" ,
1537
1538
file_ident_user + 1 , file_pgrole )));
1539
+ pg_regfree (& re );
1540
+ * error_p = true;
1541
+ return ;
1542
+ }
1538
1543
1539
1544
/*
1540
1545
* length: original length minus length of \1 plus length of match
0 commit comments