Commit c7e42c7c authored by Magnus Hagander's avatar Magnus Hagander

parse_ident_usermap() shuold use ereport(LOG) and not ERROR, and put the

return value in the *error_p variable.

Noted by Tom.
parent d82e9f72
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.187 2009/06/21 20:15:32 petere Exp $ * $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.188 2009/06/24 13:39:42 mha Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -1493,7 +1493,7 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name, ...@@ -1493,7 +1493,7 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name,
char errstr[100]; char errstr[100];
pg_regerror(r, &re, errstr, sizeof(errstr)); pg_regerror(r, &re, errstr, sizeof(errstr));
ereport(ERROR, ereport(LOG,
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION), (errcode(ERRCODE_INVALID_REGULAR_EXPRESSION),
errmsg("invalid regular expression \"%s\": %s", file_ident_user + 1, errstr))); errmsg("invalid regular expression \"%s\": %s", file_ident_user + 1, errstr)));
...@@ -1515,7 +1515,7 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name, ...@@ -1515,7 +1515,7 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name,
{ {
/* REG_NOMATCH is not an error, everything else is */ /* REG_NOMATCH is not an error, everything else is */
pg_regerror(r, &re, errstr, sizeof(errstr)); pg_regerror(r, &re, errstr, sizeof(errstr));
ereport(ERROR, ereport(LOG,
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION), (errcode(ERRCODE_INVALID_REGULAR_EXPRESSION),
errmsg("regular expression match for \"%s\" failed: %s", file_ident_user + 1, errstr))); errmsg("regular expression match for \"%s\" failed: %s", file_ident_user + 1, errstr)));
*error_p = true; *error_p = true;
...@@ -1531,10 +1531,15 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name, ...@@ -1531,10 +1531,15 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name,
{ {
/* substitution of the first argument requested */ /* substitution of the first argument requested */
if (matches[1].rm_so < 0) if (matches[1].rm_so < 0)
ereport(ERROR, {
ereport(LOG,
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION), (errcode(ERRCODE_INVALID_REGULAR_EXPRESSION),
errmsg("regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"", errmsg("regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"",
file_ident_user + 1, file_pgrole))); file_ident_user + 1, file_pgrole)));
pg_regfree(&re);
*error_p = true;
return;
}
/* /*
* length: original length minus length of \1 plus length of match * length: original length minus length of \1 plus length of match
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment