Remove use of large BUFSIZ for buffers and use the proper struct sizes.
authorBruce Momjian
Mon, 27 Sep 2004 23:39:14 +0000 (23:39 +0000)
committerBruce Momjian
Mon, 27 Sep 2004 23:39:14 +0000 (23:39 +0000)
This greatly helps threaded libpq programs.

src/interfaces/libpq/fe-auth.c
src/interfaces/libpq/fe-secure.c
src/port/getaddrinfo.c
src/port/thread.c

index 8d1f669fd3b4025584304967c0b14cc663674fc9..71159134b63d1514c71735569dd3d12fcb8f34e4 100644 (file)
@@ -10,7 +10,7 @@
  * exceed INITIAL_EXPBUFFER_SIZE (currently 256 bytes).
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.91 2004/08/29 04:13:12 momjian Exp $
+ *   $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.92 2004/09/27 23:38:45 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -749,7 +749,7 @@ fe_getauthname(char *PQerrormsg)
        if (GetUserName(username, &namesize))
            name = username;
 #else
-       char        pwdbuf[BUFSIZ];
+       char        pwdbuf[sizeof(struct passwd)];
        struct passwd pwdstr;
        struct passwd *pw = NULL;
 
index 3fbeffe01e6509fdd91c8e6ddcf567fb34bffeb8..d4f93733da4658c35d7f62b81a89a1a778b4dc64 100644 (file)
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/interfaces/libpq/fe-secure.c,v 1.52 2004/09/26 22:51:49 tgl Exp $
+ *   $PostgreSQL: pgsql/src/interfaces/libpq/fe-secure.c,v 1.53 2004/09/27 23:38:45 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[BUFSIZ];
+       char        buf[sizeof(struct hostent)];
        int         herrno = 0;
 
        /*
@@ -598,7 +598,7 @@ load_dh_file(int keylength)
 #ifdef WIN32
    return NULL;
 #else
-   char        pwdbuf[BUFSIZ];
+   char        pwdbuf[sizeof(struct passwd)];
    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[BUFSIZ];
+   char        pwdbuf[sizeof(struct passwd)];
    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[BUFSIZ];
+   char        pwdbuf[sizeof(struct passwd)];
    struct passwd pwdstr;
    struct passwd *pwd = NULL;
    char        fnbuf[MAXPGPATH];
index 59da098f85a773fedecb8d9e81a3a3dca00c8236..283d45b26fc57fbc4e6e64dd1e97c3696d9619e0 100644 (file)
@@ -12,7 +12,7 @@
  * Copyright (c) 2003, PostgreSQL Global Development Group
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/port/getaddrinfo.c,v 1.13 2004/09/27 23:24:45 momjian Exp $
+ *   $PostgreSQL: pgsql/src/port/getaddrinfo.c,v 1.14 2004/09/27 23:39:14 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -85,7 +85,7 @@ getaddrinfo(const char *node, const char *service,
 
 #ifdef FRONTEND
            struct hostent hpstr;
-           char        buf[BUFSIZ];
+           char        buf[sizeof(struct hostent)];
            int         herrno = 0;
 
            pqGethostbyname(node, &hpstr, buf, sizeof(buf),
index f950e419a141d44a5e6a40dbfafdd26b1e8cbcd6..cbf8f4ddefbb97842f41ab2950b0ba564d62762d 100644 (file)
@@ -7,7 +7,7 @@
  *
  * Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/port/thread.c,v 1.26 2004/09/27 23:24:45 momjian Exp $
+ * $PostgreSQL: pgsql/src/port/thread.c,v 1.27 2004/09/27 23:39:14 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -103,7 +103,6 @@ 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)
@@ -111,7 +110,6 @@ 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