diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-12-05 15:50:31 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-12-05 15:50:31 +0000 |
commit | a5ffa8fea4125a21fced438ab1598d5fbec1423d (patch) | |
tree | 53a6afec713fc56f1d140bc7e08abf686d8aaf7a | |
parent | a5a68766e1d863c04089a4d0db67f1363ad1114a (diff) |
Guard against bug in Solaris' bsearch(), per Michael Wildpaner.
-rw-r--r-- | src/backend/libpq/hba.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index 450b207450a..b1b2f343eea 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, |