From 1ad687827607ee02a51182ea8a255c230e61c740 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 28 Sep 2004 00:07:01 +0000 Subject: [PATCH] Revert patch that removed BUFSIZ usage. The memory has to hold the structures plus pointers used by the structure. --- src/interfaces/libpq/fe-auth.c | 4 ++-- src/interfaces/libpq/fe-secure.c | 10 +++++----- src/port/getaddrinfo.c | 4 ++-- src/port/thread.c | 4 +++- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/interfaces/libpq/fe-auth.c b/src/interfaces/libpq/fe-auth.c index 71159134b6..17862a0c80 100644 --- a/src/interfaces/libpq/fe-auth.c +++ b/src/interfaces/libpq/fe-auth.c @@ -10,7 +10,7 @@ * exceed INITIAL_EXPBUFFER_SIZE (currently 256 bytes). * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.92 2004/09/27 23:38:45 momjian Exp $ + * $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.93 2004/09/28 00:06:02 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -749,7 +749,7 @@ fe_getauthname(char *PQerrormsg) if (GetUserName(username, &namesize)) name = username; #else - char pwdbuf[sizeof(struct passwd)]; + char pwdbuf[BUFSIZ]; struct passwd pwdstr; struct passwd *pw = NULL; diff --git a/src/interfaces/libpq/fe-secure.c b/src/interfaces/libpq/fe-secure.c index d4f93733da..199ae9c2fd 100644 --- a/src/interfaces/libpq/fe-secure.c +++ b/src/interfaces/libpq/fe-secure.c @@ -11,7 +11,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/libpq/fe-secure.c,v 1.53 2004/09/27 23:38:45 momjian Exp $ + * $PostgreSQL: pgsql/src/interfaces/libpq/fe-secure.c,v 1.54 2004/09/28 00:06:02 momjian Exp $ * * NOTES * [ Most of these notes are wrong/obsolete, but perhaps not all ] @@ -512,7 +512,7 @@ verify_peer(PGconn *conn) { struct hostent hpstr; - char buf[sizeof(struct hostent)]; + char buf[BUFSIZ]; int herrno = 0; /* @@ -598,7 +598,7 @@ load_dh_file(int keylength) #ifdef WIN32 return NULL; #else - char pwdbuf[sizeof(struct passwd)]; + char pwdbuf[BUFSIZ]; struct passwd pwdstr; struct passwd *pwd = NULL; FILE *fp; @@ -745,7 +745,7 @@ client_cert_cb(SSL *ssl, X509 **x509, EVP_PKEY **pkey) #ifdef WIN32 return 0; #else - char pwdbuf[sizeof(struct passwd)]; + char pwdbuf[BUFSIZ]; struct passwd pwdstr; struct passwd *pwd = NULL; struct stat buf, @@ -952,7 +952,7 @@ initialize_SSL(PGconn *conn) { #ifndef WIN32 struct stat buf; - char pwdbuf[sizeof(struct passwd)]; + char pwdbuf[BUFSIZ]; struct passwd pwdstr; struct passwd *pwd = NULL; char fnbuf[MAXPGPATH]; diff --git a/src/port/getaddrinfo.c b/src/port/getaddrinfo.c index 283d45b26f..ee4d71b107 100644 --- a/src/port/getaddrinfo.c +++ b/src/port/getaddrinfo.c @@ -12,7 +12,7 @@ * Copyright (c) 2003, PostgreSQL Global Development Group * * IDENTIFICATION - * $PostgreSQL: pgsql/src/port/getaddrinfo.c,v 1.14 2004/09/27 23:39:14 momjian Exp $ + * $PostgreSQL: pgsql/src/port/getaddrinfo.c,v 1.15 2004/09/28 00:07:01 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -85,7 +85,7 @@ getaddrinfo(const char *node, const char *service, #ifdef FRONTEND struct hostent hpstr; - char buf[sizeof(struct hostent)]; + char buf[BUFSIZ]; int herrno = 0; pqGethostbyname(node, &hpstr, buf, sizeof(buf), diff --git a/src/port/thread.c b/src/port/thread.c index cbf8f4ddef..0b4414e7b1 100644 --- a/src/port/thread.c +++ b/src/port/thread.c @@ -7,7 +7,7 @@ * * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/port/thread.c,v 1.27 2004/09/27 23:39:14 momjian Exp $ + * $PostgreSQL: pgsql/src/port/thread.c,v 1.28 2004/09/28 00:07:01 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -103,6 +103,7 @@ pqGetpwuid(uid_t uid, struct passwd * resultbuf, char *buffer, /* POSIX version */ getpwuid_r(uid, resultbuf, buffer, buflen, result); #else + /* * Early POSIX draft of getpwuid_r() returns 'struct passwd *'. * getpwuid_r(uid, resultbuf, buffer, buflen) @@ -110,6 +111,7 @@ pqGetpwuid(uid_t uid, struct passwd * resultbuf, char *buffer, *result = getpwuid_r(uid, resultbuf, buffer, buflen); #endif #else + /* no getpwuid_r() available, just use getpwuid() */ *result = getpwuid(uid); #endif