From: Tom Lane Date: Fri, 5 Dec 2003 15:50:31 +0000 (+0000) Subject: Guard against bug in Solaris' bsearch(), per Michael Wildpaner. X-Git-Tag: REL8_0_0BETA1~1569 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a5ffa8fea4125a21fced438ab1598d5fbec1423d;p=postgresql Guard against bug in Solaris' bsearch(), per Michael Wildpaner. --- diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index 450b207450..b1b2f343ee 100644 --- a/src/backend/libpq/hba.c +++ b/src/backend/libpq/hba.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.117 2003/11/29 19:51:49 pgsql Exp $ + * $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.118 2003/12/05 15:50:31 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -381,6 +381,10 @@ user_group_bsearch_cmp(const void *user, const void *list) static List ** get_group_line(const char *group) { + /* On some versions of Solaris, bsearch of zero items dumps core */ + if (group_length == 0) + return NULL; + return (List **) bsearch((void *) group, (void *) group_sorted, group_length, @@ -392,9 +396,13 @@ get_group_line(const char *group) /* * Lookup a user name in the pg_shadow file */ -List ** +List ** get_user_line(const char *user) { + /* On some versions of Solaris, bsearch of zero items dumps core */ + if (user_length == 0) + return NULL; + return (List **) bsearch((void *) user, (void *) user_sorted, user_length,