Many more cleanups...
authorMarc G. Fournier
Mon, 14 Dec 1998 06:50:32 +0000 (06:50 +0000)
committerMarc G. Fournier
Mon, 14 Dec 1998 06:50:32 +0000 (06:50 +0000)
16 files changed:
src/backend/access/transam/xid.c
src/backend/commands/_deadcode/version.c
src/backend/commands/user.c
src/backend/commands/view.c
src/backend/executor/execAmi.c
src/backend/executor/nodeHash.c
src/backend/executor/nodeTee.c
src/backend/libpq/be-dumpdata.c
src/backend/libpq/crypt.c
src/backend/libpq/hba.c
src/backend/libpq/password.c
src/backend/libpq/portal.c
src/backend/libpq/pqcomm.c
src/backend/libpq/util.c
src/backend/nodes/outfuncs.c
src/backend/parser/analyze.c

index d33a8a8dfdace90fa4bcb2242661e657147b06da..35b53b5a5a8e0b026e6197274364caa4bc56c720 100644 (file)
@@ -5,9 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/access/transam/Attic/xid.c,v 1.19 1998/12/14 05:18:33 scrappy Exp $
+ *  $Id: xid.c,v 1.20 1998/12/14 06:50:17 scrappy Exp $
  *
  * OLD COMMENTS
  * XXX WARNING
@@ -41,13 +39,10 @@ xidin(char *representation)
 char *
 xidout(TransactionId transactionId)
 {
-/*   return(TransactionIdFormString(transactionId)); */
-   char       *representation;
-
    /* maximum 32 bit unsigned integer representation takes 10 chars */
-   representation = palloc(11);
+   char       *representation = palloc(11);
 
-   sprintf(representation, "%u", transactionId);
+   snprintf(representation, 11, "%u", transactionId);
 
    return representation;
 
index fc1efc437be92976e2f6143aeed1a2546e0e9dcc..b3db65507a22d7d22920b407397d950eef78de72 100644 (file)
@@ -5,19 +5,18 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * The version stuff has not been tested under postgres95 and probably doesn't
- * work! - jolly 8/19/95
+ * The version stuff has not been tested under postgres95 and probably 
+ * doesn't work! - jolly 8/19/95
  *
  *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/commands/_deadcode/Attic/version.c,v 1.16 1998/12/14 05:18:44 scrappy Exp $
+ *  $Id: version.c,v 1.17 1998/12/14 06:50:19 scrappy Exp $
  *
  * NOTES
- *   At the point the version is defined, 2 physical relations are created
- *   _added and _deleted.
+ * At the point the version is defined, 2 physical relations are created
+ * _added and _deleted.
  *
- *   In addition, 4 rules are defined which govern the semantics of versions
- *   w.r.t retrieves, appends, replaces and deletes.
+ * In addition, 4 rules are defined which govern the semantics of 
+ * versions w.r.t retrieves, appends, replaces and deletes.
  *
  *-------------------------------------------------------------------------
  */
index e1aaa4cb22c03018e0acfc036cf543b2cc1b49c0..a547156ed738a8d9c4e8dd7de06b3d90749830f7 100644 (file)
@@ -5,7 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *
+ * $Id: user.c,v 1.21 1998/12/14 06:50:18 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -35,6 +35,8 @@
 
 static void CheckPgUserAclNotNull(void);
 
+#define    SQL_LENGTH  512
+
 /*---------------------------------------------------------------------
  * UpdatePgPwdFile
  *
@@ -47,8 +49,9 @@ void
 UpdatePgPwdFile(char *sql)
 {
 
-   char       *filename;
-   char       *tempname;
+   char    *filename,
+               *tempname;
+   int     bufsize;
 
    /*
     * Create a temporary filename to be renamed later.  This prevents the
@@ -56,18 +59,21 @@ UpdatePgPwdFile(char *sql)
     * be reading from it.
     */
    filename = crypt_getpwdfilename();
-   tempname = (char *) malloc(strlen(filename) + 12);
-   sprintf(tempname, "%s.%d", filename, MyProcPid);
+   bufsize = strlen(filename) + 12;
+   tempname = (char *) palloc(bufsize);
+   snprintf(tempname, bufsize, "%s.%d", filename, MyProcPid);
 
    /*
     * Copy the contents of pg_shadow to the pg_pwd ASCII file using a the
     * SEPCHAR character as the delimiter between fields.  Then rename the
     * file to its final name.
     */
-   sprintf(sql, "copy %s to '%s' using delimiters %s", ShadowRelationName, tempname, CRYPT_PWD_FILE_SEPCHAR);
+   snprintf(sql, QRY_LENGTH, 
+           "copy %s to '%s' using delimiters %s", 
+           ShadowRelationName, tempname, CRYPT_PWD_FILE_SEPCHAR);
    pg_exec_query(sql);
    rename(tempname, filename);
-   free((void *) tempname);
+   pfree((void *) tempname);
 
    /*
     * Create a flag file the postmaster will detect the next time it
@@ -89,18 +95,17 @@ void
 DefineUser(CreateUserStmt *stmt)
 {
 
-   char       *pg_shadow;
-   Relation    pg_shadow_rel;
-   TupleDesc   pg_shadow_dsc;
-   HeapScanDesc scan;
-   HeapTuple   tuple;
-   Datum       datum;
-   char        sql[512];
-   char       *sql_end;
-   bool        exists = false,
-               n,
-               inblock;
-   int         max_id = -1;
+   char                    *pg_shadow,
+                               sql[SQL_LENGTH];
+   Relation            pg_shadow_rel;
+   TupleDesc           pg_shadow_dsc;
+   HeapScanDesc    scan;
+   HeapTuple           tuple;
+   Datum                   datum;
+   bool                    exists = false,
+                               n,
+                               inblock;
+   int                     max_id = -1;
 
    if (stmt->password)
        CheckPgUserAclNotNull();
@@ -152,46 +157,23 @@ DefineUser(CreateUserStmt *stmt)
        RelationUnsetLockForWrite(pg_shadow_rel);
        heap_close(pg_shadow_rel);
        UserAbortTransactionBlock();
-       elog(ERROR, "defineUser: user \"%s\" has already been created", stmt->user);
+       elog(ERROR, 
+               "defineUser: user \"%s\" has already been created", stmt->user);
        return;
    }
 
    /*
     * Build the insert statment to be executed.
     */
-   sprintf(sql, "insert into %s(usename,usesysid,usecreatedb,usetrace,usesuper,usecatupd,passwd", ShadowRelationName);
-/* if (stmt->password)
-   strcat(sql, ",passwd"); -- removed so that insert empty string when no password */
-   if (stmt->validUntil)
-       strcat(sql, ",valuntil");
-
-   sql_end = sql + strlen(sql);
-   sprintf(sql_end, ") values('%s',%d", stmt->user, max_id + 1);
-   if (stmt->createdb && *stmt->createdb)
-       strcat(sql_end, ",'t','t'");
-   else
-       strcat(sql_end, ",'f','t'");
-   if (stmt->createuser && *stmt->createuser)
-       strcat(sql_end, ",'t','t'");
-   else
-       strcat(sql_end, ",'f','t'");
-   sql_end += strlen(sql_end);
-   if (stmt->password)
-   {
-       sprintf(sql_end, ",'%s'", stmt->password);
-       sql_end += strlen(sql_end);
-   }
-   else
-   {
-       strcpy(sql_end, ",''");
-       sql_end += strlen(sql_end);
-   }
-   if (stmt->validUntil)
-   {
-       sprintf(sql_end, ",'%s'", stmt->validUntil);
-       sql_end += strlen(sql_end);
-   }
-   strcat(sql_end, ")");
+   snprintf(sql, SQL_LENGTH, 
+           "insert into %s(usename,usesysid,usecreatedb,usetrace,usesuper,"
+           "usecatupd,passwd,valuntil) values('%s',%d%s%s,'%s','%s')", 
+           ShadowRelationName, 
+           stmt->user, max_id + 1,
+           (stmt->createdb && *stmt->createdb) ? ",'t','t'" : ",'f','t'",
+           (stmt->createuser && *stmt->createuser) ? ",'t','t'" : ",'f','t'",
+           stmt->password ? stmt->password : "''",
+           stmt->validUntil ? stmt->valudUntil : "");
 
    pg_exec_query(sql);
 
@@ -217,13 +199,12 @@ extern void
 AlterUser(AlterUserStmt *stmt)
 {
 
-   char       *pg_shadow;
+   char            *pg_shadow,
+                       sql[SQL_LENGTH];
    Relation    pg_shadow_rel;
    TupleDesc   pg_shadow_dsc;
    HeapTuple   tuple;
-   char        sql[512];
-   char       *sql_end;
-   bool        inblock;
+   bool            inblock;
 
    if (stmt->password)
        CheckPgUserAclNotNull();
@@ -271,47 +252,38 @@ AlterUser(AlterUserStmt *stmt)
    /*
     * Create the update statement to modify the user.
     */
-   sprintf(sql, "update %s set", ShadowRelationName);
-   sql_end = sql;
+   snprintf(sql, SQL_LENGTH, "update %s set", ShadowRelationName);
+
    if (stmt->password)
    {
-       sql_end += strlen(sql_end);
-       sprintf(sql_end, " passwd = '%s'", stmt->password);
+       snprintf(sql, SQL_LENGTH, "%s passwd = '%s'", sql, stmt->password);
    }
+
    if (stmt->createdb)
    {
-       if (sql_end != sql)
-           strcat(sql_end, ",");
-       sql_end += strlen(sql_end);
-       if (*stmt->createdb)
-           strcat(sql_end, " usecreatedb = 't'");
-       else
-           strcat(sql_end, " usecreatedb = 'f'");
+       snprintf(sql, SQL_LENGTH, "%s %susecreatedb='%s'",
+               stmt->password ? "," : "",
+               *stmt->createdb ? "t" : "f");
    }
+
    if (stmt->createuser)
    {
-       if (sql_end != sql)
-           strcat(sql_end, ",");
-       sql_end += strlen(sql_end);
-       if (*stmt->createuser)
-           strcat(sql_end, " usesuper = 't'");
-       else
-           strcat(sql_end, " usesuper = 'f'");
+       snprintf(sql, SQL_LENGTH, "%s %susesuper='%s'",
+               (stmt->password || stmt->createdb) ? "," : "",
+               *stmt->createuser ? "t" : "f");
    }
+
    if (stmt->validUntil)
    {
-       if (sql_end != sql)
-           strcat(sql_end, ",");
-       sql_end += strlen(sql_end);
-       sprintf(sql_end, " valuntil = '%s'", stmt->validUntil);
-   }
-   if (sql_end != sql)
-   {
-       sql_end += strlen(sql_end);
-       sprintf(sql_end, " where usename = '%s'", stmt->user);
-       pg_exec_query(sql);
+       snprintf(sql, SQL_LENGTH, "%s %svaluntil='%s'",
+               (stmt->password || stmt->createdb || stmt->createuser) ? "," : "",
+               stmt->validUntil);
    }
 
+   snprintf(sql, SQL_LENGTH, "%s where usename = '%s'", sql, stmt->user);
+
+   pg_exec_query(sql);
+
    /* do the pg_group stuff here */
 
    UpdatePgPwdFile(sql);
@@ -402,8 +374,9 @@ RemoveUser(char *user)
            datum = heap_getattr(tuple, Anum_pg_database_datname, pg_dsc, &n);
            if (memcmp((void *) datum, "template1", 9))
            {
-               dbase = (char **) realloc((void *) dbase, sizeof(char *) * (ndbase + 1));
-               dbase[ndbase] = (char *) malloc(NAMEDATALEN + 1);
+               dbase = 
+                       (char **) repalloc((void *) dbase, sizeof(char *) * (ndbase + 1));
+               dbase[ndbase] = (char *) palloc(NAMEDATALEN + 1);
                memcpy((void *) dbase[ndbase], (void *) datum, NAMEDATALEN);
                dbase[ndbase++][NAMEDATALEN] = '\0';
            }
@@ -415,12 +388,12 @@ RemoveUser(char *user)
    while (ndbase--)
    {
        elog(NOTICE, "Dropping database %s", dbase[ndbase]);
-       sprintf(sql, "drop database %s", dbase[ndbase]);
-       free((void *) dbase[ndbase]);
+       snprintf(sql, SQL_LENGTH, "drop database %s", dbase[ndbase]);
+       pfree((void *) dbase[ndbase]);
        pg_exec_query(sql);
    }
    if (dbase)
-       free((void *) dbase);
+       pfree((void *) dbase);
 
    /*
     * Since pg_shadow is global over all databases, one of two things
@@ -443,7 +416,8 @@ RemoveUser(char *user)
    /*
     * Remove the user from the pg_shadow table
     */
-   sprintf(sql, "delete from %s where usename = '%s'", ShadowRelationName, user);
+   snprintf(sql, SQL_LENGTH, 
+           "delete from %s where usename = '%s'", ShadowRelationName, user);
    pg_exec_query(sql);
 
    UpdatePgPwdFile(sql);
index 7fed73fcac2ee6ce27c8cf8c540e5dffa5e65d0f..1132b1f02e2cf77b6f96232b09b6d3fedc7b54e4 100644 (file)
@@ -5,9 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/commands/view.c,v 1.27 1998/12/14 05:18:44 scrappy Exp $
+ *  $Id: view.c,v 1.28 1998/12/14 06:50:18 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
index 6711fa5f70d5d0d46ce15022d8c127962d7b482f..17936d75d05ba561d2098cd2b3351b47a9649923 100644 (file)
@@ -5,9 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.26 1998/12/14 05:18:49 scrappy Exp $
+ *  $Id: execAmi.c,v 1.27 1998/12/14 06:50:20 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
index e03a33b62b23db2eca67918fdf6f998c5f517de1..1f900bdb17234b0219cb0eb4c8d305e186c4f51a 100644 (file)
@@ -6,8 +6,7 @@
  * Copyright (c) 1994, Regents of the University of California
  *
  *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/executor/nodeHash.c,v 1.25 1998/12/14 05:18:50 scrappy Exp $
+ *  $Id: nodeHash.c,v 1.26 1998/12/14 06:50:21 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
index 741a4f077f18f3af5e703e99887f6e7f5a33eb8f..b565d2fd6e185d4658432ab77daa5fd5646d0310 100644 (file)
@@ -6,16 +6,15 @@
  * Copyright (c) 1994, Regents of the University of California
  *
  *  DESCRIPTION
- *     This code provides support for a tee node, which allows multiple
- *   parent in a megaplan.
+ *     This code provides support for a tee node, which allows 
+ *         multiple parent in a megaplan.
  *
  *  INTERFACE ROUTINES
  *     ExecTee
  *     ExecInitTee
  *     ExecEndTee
  *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/executor/Attic/nodeTee.c,v 1.26 1998/12/14 05:18:51 scrappy Exp $
+ *  $Id: nodeTee.c,v 1.27 1998/12/14 06:50:22 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
index 8ea0e53cc0263187c1572cd006f656dd4b669f53..116fb0c80bf382b9abc209d822fb10333e4d8d65 100644 (file)
@@ -6,9 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/libpq/Attic/be-dumpdata.c,v 1.18 1998/11/27 19:52:05 vadim Exp $
+ *  $Id: be-dumpdata.c,v 1.19 1998/12/14 06:50:23 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -132,8 +130,8 @@ static u_int be_portalcnt = 0;
 PortalEntry *
 be_newportal(void)
 {
-   PortalEntry *entry;
-   char        buf[PortalNameLength];
+   PortalEntry *entry;
+   char                buf[PortalNameLength];
 
    /* ----------------
     *  generate a new name
@@ -142,7 +140,7 @@ be_newportal(void)
    if (be_portalcnt == 0)
        be_portaloid = newoid();
    be_portalcnt++;
-   sprintf(buf, "be_%d_%d", be_portaloid, be_portalcnt);
+   snprintf(buf, PortalNameLength, "be_%d_%d", be_portaloid, be_portalcnt);
 
    /* ----------------
     *  initialize the new portal entry and keep track
index 50ef9d4ca9f9a30bd51b6918c66d40507e254715..92f70c5acb99386ef417064b6d65357f67b6d994 100644 (file)
@@ -1,14 +1,15 @@
 /*-------------------------------------------------------------------------
  *
  * crypt.c--
- *       Look into pg_shadow and check the encrypted password with the one
- *       passed in from the frontend.
+ * Look into pg_shadow and check the encrypted password with 
+ * the one passed in from the frontend.
  *
  * Modification History
  *
  * Dec 17, 1997 - Todd A. Brandys
  * Orignal Version Completed.
  *
+ * $Id: crypt.c,v 1.13 1998/12/14 06:50:24 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -37,13 +38,12 @@ char *
 crypt_getpwdfilename()
 {
 
-   static char *pfnam = NULL;
+   static char *pfnam = NULL;
+   int                 bufsize;
 
-   if (!pfnam)
-   {
-       pfnam = (char *) malloc(strlen(DataDir) + strlen(CRYPT_PWD_FILE) + 2);
-       sprintf(pfnam, "%s/%s", DataDir, CRYPT_PWD_FILE);
-   }
+   bufsize = strlen(DataDir) + strlen(CRYPT_PWD_FILE) + 2;
+   pfnam = (char *) palloc(bufsize);
+   snprintf(pfnam, bufsize, "%s/%s", DataDir, CRYPT_PWD_FILE);
 
    return pfnam;
 }
@@ -54,16 +54,14 @@ char *
 crypt_getpwdreloadfilename()
 {
 
-   static char *rpfnam = NULL;
+   static char *rpfnam = NULL;
+   char                *pwdfilename;
+   int                 bufsize;
 
-   if (!rpfnam)
-   {
-       char       *pwdfilename;
-
-       pwdfilename = crypt_getpwdfilename();
-       rpfnam = (char *) malloc(strlen(pwdfilename) + strlen(CRYPT_PWD_RELOAD_SUFX) + 1);
-       sprintf(rpfnam, "%s%s", pwdfilename, CRYPT_PWD_RELOAD_SUFX);
-   }
+   pwdfilename = crypt_getpwdfilename();
+   bufsize = strlen(pwdfilename) + strlen(CRYPT_PWD_RELOAD_SUFX) + 1;
+   rpfnam = (char *) palloc(bufsize);
+   snprintf(rpfnam, bufsize, "%s%s", pwdfilename, CRYPT_PWD_RELOAD_SUFX);
 
    return rpfnam;
 }
@@ -145,8 +143,10 @@ crypt_loadpwdfile()
        {                       /* free the old data only if this is a
                                 * reload */
            while (pwd_cache_count--)
-               free((void *) pwd_cache[pwd_cache_count]);
-           free((void *) pwd_cache);
+           {
+               pfree((void *) pwd_cache[pwd_cache_count]);
+           }
+           pfree((void *) pwd_cache);
            pwd_cache = NULL;
            pwd_cache_count = 0;
        }
@@ -168,7 +168,7 @@ crypt_loadpwdfile()
                buffer[result] = '\0';
 
            pwd_cache = (char **) realloc((void *) pwd_cache, sizeof(char *) * (pwd_cache_count + 1));
-           pwd_cache[pwd_cache_count++] = strdup(buffer);
+           pwd_cache[pwd_cache_count++] = pstrdup(buffer);
        }
        fclose(pwd_file);
 
@@ -200,7 +200,7 @@ crypt_parsepwdentry(char *buffer, char **pwd, char **valdate)
     * store a copy of user password to return
     */
    count = strcspn(parse, CRYPT_PWD_FILE_SEPSTR);
-   *pwd = (char *) malloc(count + 1);
+   *pwd = (char *) palloc(count + 1);
    strncpy(*pwd, parse, count);
    (*pwd)[count] = '\0';
    parse += (count + 1);
@@ -209,7 +209,7 @@ crypt_parsepwdentry(char *buffer, char **pwd, char **valdate)
     * store a copy of date login becomes invalid
     */
    count = strcspn(parse, CRYPT_PWD_FILE_SEPSTR);
-   *valdate = (char *) malloc(count + 1);
+   *valdate = (char *) palloc(count + 1);
    strncpy(*valdate, parse, count);
    (*valdate)[count] = '\0';
    parse += (count + 1);
@@ -222,9 +222,9 @@ int
 crypt_getloginfo(const char *user, char **passwd, char **valuntil)
 {
 
-   char       *pwd;
-   char       *valdate;
-   void       *fakeout;
+   char    *pwd,
+               *valdate;
+   void    *fakeout;
 
    *passwd = NULL;
    *valuntil = NULL;
@@ -232,10 +232,10 @@ crypt_getloginfo(const char *user, char **passwd, char **valuntil)
 
    if (pwd_cache)
    {
-       char      **pwd_entry;
-       char        user_search[NAMEDATALEN + 2];
+       char  **pwd_entry;
+       char    user_search[NAMEDATALEN + 2];
 
-       sprintf(user_search, "%s\t", user);
+       snprintf(user_search, NAMEDATALEN + 2, "%s\t", user);
        fakeout = (void *) &user_search;
        if ((pwd_entry = (char **) bsearch((void *) &fakeout, (void *) pwd_cache, pwd_cache_count, sizeof(char *), compar_user)))
        {
@@ -253,56 +253,32 @@ crypt_getloginfo(const char *user, char **passwd, char **valuntil)
 
 /*-------------------------------------------------------------------------*/
 
-#if 0
-MsgType
-crypt_salt(const char *user)
-{
-
-   char       *passwd;
-   char       *valuntil;
-
-   if (crypt_getloginfo(user, &passwd, &valuntil) == STATUS_ERROR)
-       return STARTUP_UNSALT_MSG;
-
-   if (passwd == NULL || *passwd == '\0' || !strcmp(passwd, "\\N"))
-   {
-       if (passwd)
-           free((void *) passwd);
-       if (valuntil)
-           free((void *) valuntil);
-       return STARTUP_UNSALT_MSG;
-   }
-
-   free((void *) passwd);
-   if (valuntil)
-       free((void *) valuntil);
-   return STARTUP_SALT_MSG;
-}
-
-#endif
-
-/*-------------------------------------------------------------------------*/
-
 int
 crypt_verify(Port *port, const char *user, const char *pgpass)
 {
 
-   char       *passwd;
-   char       *valuntil;
-   char       *crypt_pwd;
-   int         retval = STATUS_ERROR;
-   AbsoluteTime vuntil,
-               current;
+   char                    *passwd,
+                               *valuntil,
+                               *crypt_pwd;
+   int                     retval = STATUS_ERROR;
+   AbsoluteTime    vuntil,
+                               current;
 
    if (crypt_getloginfo(user, &passwd, &valuntil) == STATUS_ERROR)
+   {
        return STATUS_ERROR;
+   }
 
    if (passwd == NULL || *passwd == '\0')
    {
        if (passwd)
-           free((void *) passwd);
+       {
+           pfree((void *) passwd);
+       }
        if (valuntil)
-           free((void *) valuntil);
+       {
+           pfree((void *) valuntil);
+       }
        return STATUS_ERROR;
    }
 
@@ -311,28 +287,38 @@ crypt_verify(Port *port, const char *user, const char *pgpass)
     * authentication method being used for this connection.
     */
 
-   crypt_pwd = (port->auth_method == uaCrypt ? crypt(passwd, port->salt) : passwd);
+   crypt_pwd = 
+           (port->auth_method == uaCrypt ? crypt(passwd, port->salt) : passwd);
 
    if (!strcmp(pgpass, crypt_pwd))
    {
-
        /*
         * check here to be sure we are not past valuntil
         */
        if (!valuntil || strcmp(valuntil, "\\N") == 0)
+       {
            vuntil = INVALID_ABSTIME;
+       }
        else
+       {
            vuntil = nabstimein(valuntil);
+       }
        current = GetCurrentAbsoluteTime();
        if (vuntil != INVALID_ABSTIME && vuntil < current)
+       {
            retval = STATUS_ERROR;
+       }
        else
+       {
            retval = STATUS_OK;
+       }
    }
 
-   free((void *) passwd);
+   pfree((void *) passwd);
    if (valuntil)
-       free((void *) valuntil);
+   {
+       pfree((void *) valuntil);
+   }
 
    return retval;
 }
index 68d55e0f433fa7e5a6c3dfed961bc3640e3e0178..daa4716e30b27395d8f479495892a03d3d280045 100644 (file)
@@ -5,9 +5,7 @@
  *   wherein you authenticate a user by seeing what IP address the system
  *   says he comes from and possibly using ident).
  *
- *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/libpq/hba.c,v 1.36 1998/10/02 16:18:20 momjian Exp $
+ *  $Id: hba.c,v 1.37 1998/12/14 06:50:25 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -287,7 +285,7 @@ process_hba_record(FILE *file, SockAddr *raddr, const char *user,
    return;
 
 syntax:
-   sprintf(PQerrormsg,
+   snprintf(PQerrormsg, ERROR_MSG_LENGTH,
            "process_hba_record: invalid syntax in pg_hba.conf file\n");
 
    fputs(PQerrormsg, stderr);
@@ -358,29 +356,29 @@ static void
 find_hba_entry(SockAddr *raddr, const char *user, const char *database,
               bool *host_ok_p, UserAuth *userauth_p, char *auth_arg)
 {
-/*--------------------------------------------------------------------------
-  Read the config file and find an entry that allows connection from
-  host "*raddr" to database "database".  If found, return *host_ok_p == true
-  and *userauth_p and *auth_arg representing the contents of that entry.
-
-  When a record has invalid syntax, we either ignore it or reject the
-  connection (depending on where it's invalid).  No message or anything.
-  We need to fix that some day.
-
-  If we don't find or can't access the config file, we issue an error
-  message and deny the connection.
-
-  If we find a file by the old name of the config file (pg_hba), we issue
-  an error message because it probably needs to be converted.  He didn't
-  follow directions and just installed his old hba file in the new database
-  system.
-
----------------------------------------------------------------------------*/
-   int         fd;
-
-   FILE       *file;           /* The config file we have to read */
+/*
+ * Read the config file and find an entry that allows connection from
+ * host "*raddr" to database "database".  If found, return *host_ok_p == true
+ * and *userauth_p and *auth_arg representing the contents of that entry.
+ *
+ * When a record has invalid syntax, we either ignore it or reject the
+ * connection (depending on where it's invalid).  No message or anything.
+ * We need to fix that some day.
+ *
+ * If we don't find or can't access the config file, we issue an error
+ * message and deny the connection.
+ *
+ * If we find a file by the old name of the config file (pg_hba), we issue
+ * an error message because it probably needs to be converted.  He didn't
+ * follow directions and just installed his old hba file in the new database
+ * system.
+ *
+ */
 
-   char       *old_conf_file;
+   int     fd,
+               bufsize;
+   FILE    *file;          /* The config file we have to read */
+   char    *old_conf_file;
 
    /* The name of old config file that better not exist. */
 
@@ -388,15 +386,15 @@ find_hba_entry(SockAddr *raddr, const char *user, const char *database,
 
 
    /* put together the full pathname to the old config file */
-   old_conf_file = (char *) palloc((strlen(DataDir) +
-                             strlen(OLD_CONF_FILE) + 2) * sizeof(char));
-   sprintf(old_conf_file, "%s/%s", DataDir, OLD_CONF_FILE);
+   bufsize = (strlen(DataDir) + strlen(OLD_CONF_FILE) + 2) * sizeof(char);
+   old_conf_file = (char *) palloc(bufsize);
+   snprintf(old_conf_file, bufsize, "%s/%s", DataDir, OLD_CONF_FILE);
 
    if ((fd = open(old_conf_file, O_RDONLY, 0)) != -1)
    {
        /* Old config file exists.  Tell this guy he needs to upgrade. */
        close(fd);
-       sprintf(PQerrormsg,
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
          "A file exists by the name used for host-based authentication "
           "in prior releases of Postgres (%s).  The name and format of "
           "the configuration file have changed, so this file should be "
@@ -407,22 +405,21 @@ find_hba_entry(SockAddr *raddr, const char *user, const char *database,
    }
    else
    {
-       char       *conf_file;  /* The name of the config file we have to
-                                * read */
+       char    *conf_file; /* The name of the config file we have to read */
 
        /* put together the full pathname to the config file */
-       conf_file = (char *) palloc((strlen(DataDir) +
-                                 strlen(CONF_FILE) + 2) * sizeof(char));
-       sprintf(conf_file, "%s/%s", DataDir, CONF_FILE);
+       bufsize = (strlen(DataDir) + strlen(CONF_FILE) + 2) * sizeof(char);
+       conf_file = (char *) palloc(bufsize);
+       snprintf(conf_file, bufsize, "%s/%s", DataDir, CONF_FILE);
 
        file = AllocateFile(conf_file, "r");
        if (file == NULL)
        {
            /* The open of the config file failed.  */
 
-           sprintf(PQerrormsg,
-                "find_hba_entry: Host-based authentication config file "
-               "does not exist or permissions are not setup correctly! "
+           snprintf(PQerrormsg, ERROR_MSG_LENGTH,
+                   "find_hba_entry: Host-based authentication config file "
+                   "does not exist or permissions are not setup correctly! "
                    "Unable to open file \"%s\".\n",
                    conf_file);
            fputs(PQerrormsg, stderr);
@@ -430,8 +427,8 @@ find_hba_entry(SockAddr *raddr, const char *user, const char *database,
        }
        else
        {
-           process_open_config_file(file, raddr, user, database, host_ok_p, userauth_p,
-                                    auth_arg);
+           process_open_config_file(file, raddr, user, database, host_ok_p, 
+                   userauth_p, auth_arg);
            FreeFile(file);
        }
        pfree(conf_file);
@@ -545,18 +542,15 @@ ident(const struct in_addr remote_ip_addr, const struct in_addr local_ip_addr,
   *ident_failed == true (and *ident_username undefined).
 ----------------------------------------------------------------------------*/
 
-   int         sock_fd;
-
-   /* File descriptor for socket on which we talk to Ident */
 
-   int         rc;             /* Return code from a locally called
-                                * function */
+   int sock_fd,    /* File descriptor for socket on which we talk to Ident */
+           rc;             /* Return code from a locally called function */
 
    sock_fd = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
    if (sock_fd == -1)
    {
-       sprintf(PQerrormsg,
-            "Failed to create socket on which to talk to Ident server. "
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH, 
+               "Failed to create socket on which to talk to Ident server. "
                "socket() returned errno = %s (%d)\n",
                strerror(errno), errno);
        fputs(PQerrormsg, stderr);
@@ -592,8 +586,8 @@ ident(const struct in_addr remote_ip_addr, const struct in_addr local_ip_addr,
        }
        if (rc != 0)
        {
-           sprintf(PQerrormsg,
-               "Unable to connect to Ident server on the host which is "
+           snprintf(PQerrormsg, ERROR_MSG_LENGTH,
+                   "Unable to connect to Ident server on the host which is "
                    "trying to connect to Postgres "
                    "(IP address %s, Port %d). "
                    "errno = %s (%d)\n",
@@ -604,15 +598,15 @@ ident(const struct in_addr remote_ip_addr, const struct in_addr local_ip_addr,
        }
        else
        {
-           char        ident_query[80];
+           char    ident_query[80];
 
            /* The query we send to the Ident server */
-           sprintf(ident_query, "%d,%d\n",
+           snprintf(ident_query, 80, "%d,%d\n",
                    ntohs(remote_port), ntohs(local_port));
            rc = send(sock_fd, ident_query, strlen(ident_query), 0);
            if (rc < 0)
            {
-               sprintf(PQerrormsg,
+               snprintf(PQerrormsg, ERROR_MSG_LENGTH,
                        "Unable to send query to Ident server on the host which is "
                      "trying to connect to Postgres (Host %s, Port %d),"
                        "even though we successfully connected to it.  "
@@ -624,16 +618,16 @@ ident(const struct in_addr remote_ip_addr, const struct in_addr local_ip_addr,
            }
            else
            {
-               char        ident_response[80 + IDENT_USERNAME_MAX];
+               char    ident_response[80 + IDENT_USERNAME_MAX];
 
                rc = recv(sock_fd, ident_response, sizeof(ident_response) - 1, 0);
                if (rc < 0)
                {
-                   sprintf(PQerrormsg,
-                         "Unable to receive response from Ident server "
+                   snprintf(PQerrormsg, ERROR_MSG_LENGTH,
+                           "Unable to receive response from Ident server "
                            "on the host which is "
-                     "trying to connect to Postgres (Host %s, Port %d),"
-                   "even though we successfully sent our query to it.  "
+                           "trying to connect to Postgres (Host %s, Port %d),"
+                           "even though we successfully sent our query to it.  "
                            "errno = %s (%d)\n",
                            inet_ntoa(remote_ip_addr), IDENT_PORT,
                            strerror(errno), errno);
@@ -694,7 +688,8 @@ parse_map_record(FILE *file,
                return;
            }
        }
-       sprintf(PQerrormsg, "Incomplete line in pg_ident: %s", file_map);
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH, 
+               "Incomplete line in pg_ident: %s", file_map);
        fputs(PQerrormsg, stderr);
        pqdebug("%s", PQerrormsg);
    }
@@ -776,10 +771,10 @@ verify_against_usermap(const char *pguser,
    if (usermap_name[0] == '\0')
    {
        *checks_out_p = false;
-       sprintf(PQerrormsg,
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
                "verify_against_usermap: hba configuration file does not "
-          "have the usermap field filled in in the entry that pertains "
-         "to this connection.  That field is essential for Ident-based "
+               "have the usermap field filled in in the entry that pertains "
+               "to this connection.  That field is essential for Ident-based "
                "authentication.\n");
        fputs(PQerrormsg, stderr);
        pqdebug("%s", PQerrormsg);
@@ -787,21 +782,24 @@ verify_against_usermap(const char *pguser,
    else if (strcmp(usermap_name, "sameuser") == 0)
    {
        if (strcmp(ident_username, pguser) == 0)
+       {
            *checks_out_p = true;
+       }
        else
+       {
            *checks_out_p = false;
+       }
    }
    else
    {
-       FILE       *file;       /* The map file we have to read */
-
-       char       *map_file;   /* The name of the map file we have to
-                                * read */
+       FILE    *file;      /* The map file we have to read */
+       char    *map_file;  /* The name of the map file we have to read */
+       int     bufsize;
 
        /* put together the full pathname to the map file */
-       map_file = (char *) palloc((strlen(DataDir) +
-                                   strlen(MAP_FILE) + 2) * sizeof(char));
-       sprintf(map_file, "%s/%s", DataDir, MAP_FILE);
+       bufsize = (strlen(DataDir) + strlen(MAP_FILE) + 2) * sizeof(char);
+       map_file = (char *) palloc(bufsize);
+       snprintf(map_file, bufsize, "%s/%s", DataDir, MAP_FILE);
 
        file = AllocateFile(map_file, "r");
        if (file == NULL)
@@ -810,10 +808,10 @@ verify_against_usermap(const char *pguser,
 
            *checks_out_p = false;
 
-           sprintf(PQerrormsg,
-                 "verify_against_usermap: usermap file for Ident-based "
+           snprintf(PQerrormsg, ERROR_MSG_LENGTH,
+                   "verify_against_usermap: usermap file for Ident-based "
                    "authentication "
-               "does not exist or permissions are not setup correctly! "
+                   "does not exist or permissions are not setup correctly! "
                    "Unable to open file \"%s\".\n",
                    map_file);
            fputs(PQerrormsg, stderr);
@@ -955,27 +953,31 @@ InRange(char *buf, int host)
 void
 GetCharSetByHost(char *TableName, int host, const char *DataDir)
 {
-   FILE       *file;
-   char        buf[MAX_TOKEN],
+   FILE    *file;
+   char    buf[MAX_TOKEN],
                BaseCharset[MAX_TOKEN],
                OrigCharset[MAX_TOKEN],
                DestCharset[MAX_TOKEN],
-               HostCharset[MAX_TOKEN];
-   char        c,
-               eof = false;
-   char       *map_file;
-   int         key = 0,
-               i;
-   struct CharsetItem *ChArray[MAX_CHARSETS];
-   int         ChIndex = 0;
+               HostCharset[MAX_TOKEN],
+               c,
+               eof = false,
+               *map_file;
+   int     key = 0,
+               ChIndex = 0,
+               i,
+               bufsize;
+
+   struct CharsetItem  *ChArray[MAX_CHARSETS];
 
    *TableName = '\0';
-   map_file = (char *) malloc((strlen(DataDir) +
-                               strlen(CHARSET_FILE) + 2) * sizeof(char));
-   sprintf(map_file, "%s/%s", DataDir, CHARSET_FILE);
+   bufsize = (strlen(DataDir) + strlen(CHARSET_FILE) + 2) * sizeof(char);
+   map_file = (char *) palloc(bufsize);
+   snprintf(map_file, bufsize, "%s/%s", DataDir, CHARSET_FILE);
    file = fopen(map_file, "r");
    if (file == NULL)
+   {
        return;
+   }
    while (!eof)
    {
        c = getc(file);
@@ -1035,7 +1037,8 @@ GetCharSetByHost(char *TableName, int host, const char *DataDir)
                                    next_token(file, buf, sizeof(buf));
                                    if (buf[0] != '\0')
                                    {
-                                       ChArray[ChIndex] = (struct CharsetItem *) malloc(sizeof(struct CharsetItem));
+                                       ChArray[ChIndex] = 
+                                               (struct CharsetItem *) palloc(sizeof(struct CharsetItem));
                                        strcpy(ChArray[ChIndex]->Orig, OrigCharset);
                                        strcpy(ChArray[ChIndex]->Dest, DestCharset);
                                        strcpy(ChArray[ChIndex]->Table, buf);
@@ -1051,14 +1054,14 @@ GetCharSetByHost(char *TableName, int host, const char *DataDir)
        }
    }
    fclose(file);
-   free(map_file);
+   pfree(map_file);
 
    for (i = 0; i < ChIndex; i++)
    {
        if (!strcasecmp(BaseCharset, ChArray[i]->Orig) &&
            !strcasecmp(HostCharset, ChArray[i]->Dest))
            strncpy(TableName, ChArray[i]->Table, 79);
-       free((struct CharsetItem *) ChArray[i]);
+       pfree((struct CharsetItem *) ChArray[i]);
    }
 }
 
index af3a4c6f7e2ab51b8598e4adca590a218245dfea..e6c1d816a8baaa7128cfa1b1b15d39d2b9fc836d 100644 (file)
@@ -1,3 +1,10 @@
+/* 
+ * Copyright (c) 1994, Regents of the University of California
+ *
+ * $Id: password.c,v 1.19 1998/12/14 06:50:26 scrappy Exp $ 
+ *
+ */
+
 #include 
 #include 
 #include 
@@ -23,7 +30,7 @@ verify_password(char *auth_arg, char *user, char *password)
    pw_file = AllocateFile(pw_file_fullname, "r");
    if (!pw_file)
    {
-       sprintf(PQerrormsg,
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
                "verify_password: couldn't open password file '%s'\n",
                pw_file_fullname);
        fputs(PQerrormsg, stderr);
@@ -68,7 +75,7 @@ verify_password(char *auth_arg, char *user, char *password)
                return STATUS_OK;
            }
 
-           sprintf(PQerrormsg,
+           snprintf(PQerrormsg, ERROR_MSG_LENGTH,
                    "verify_password: password mismatch for '%s'.\n",
                    user);
            fputs(PQerrormsg, stderr);
@@ -80,7 +87,7 @@ verify_password(char *auth_arg, char *user, char *password)
        }
    }
 
-   sprintf(PQerrormsg,
+   snprintf(PQerrormsg, ERROR_MSG_LENGTH,
            "verify_password: user '%s' not found in password file.\n",
            user);
    fputs(PQerrormsg, stderr);
index 3fb02b03ec78991d20ebbf9d99f8a9c5033eae83..d116a3c12cc336ecaa5e08e6c25f7ed6176f74b4 100644 (file)
@@ -5,9 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/libpq/Attic/portal.c,v 1.17 1998/09/01 04:28:50 momjian Exp $
+ *  $Id: portal.c,v 1.18 1998/12/14 06:50:26 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -75,8 +73,8 @@ in_range(char *msg, int value, int min, int max)
 {
    if (value < min || value >= max)
    {
-       sprintf(PQerrormsg, "FATAL: %s, %d is not in range [%d,%d)\n",
-               msg, value, min, max);
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
+           "FATAL: %s, %d is not in range [%d,%d)\n", msg, value, min, max);
        pqdebug("%s", PQerrormsg);
        fputs(PQerrormsg, stderr);
        return 0;
@@ -89,7 +87,7 @@ valid_pointer(char *msg, void *ptr)
 {
    if (!ptr)
    {
-       sprintf(PQerrormsg, "FATAL: %s\n", msg);
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH, "FATAL: %s\n", msg);
        pqdebug("%s", PQerrormsg);
        fputs(PQerrormsg, stderr);
        return 0;
index 623e8a1d10cedafb56ecd0358fcda274d3f6c221..b4bab9c8991b1bf86da8f373e95064c809ebcf28 100644 (file)
@@ -5,9 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.58 1998/11/29 01:47:42 tgl Exp $
+ *  $Id: pqcomm.c,v 1.59 1998/12/14 06:50:27 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -77,9 +75,9 @@
  *     declarations
  * ----------------
  */
-FILE      *Pfout,
-          *Pfin;
-FILE      *Pfdebug;            /* debugging libpq */
+FILE   *Pfout,
+           *Pfin,
+           *Pfdebug;           /* debugging libpq */
 
 /* --------------------------------
  *     pq_init - open portal file descriptors
@@ -315,7 +313,7 @@ pq_getint(int b)
 
    if (status)
    {
-       sprintf(PQerrormsg,
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
                "FATAL: pq_getint failed: errno=%d\n", errno);
        fputs(PQerrormsg, stderr);
        pqdebug("%s", PQerrormsg);
@@ -341,7 +339,7 @@ pq_putstr(char *s)
    if          (pqPutString(s, Pfout))
 #endif
    {
-       sprintf(PQerrormsg,
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
                "FATAL: pq_putstr: fputs() failed: errno=%d\n", errno);
        fputs(PQerrormsg, stderr);
        pqdebug("%s", PQerrormsg);
@@ -357,7 +355,7 @@ pq_putnchar(char *s, int n)
 {
    if (pqPutNBytes(s, n, Pfout))
    {
-       sprintf(PQerrormsg,
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
                "FATAL: pq_putnchar: fputc() failed: errno=%d\n",
                errno);
        fputs(PQerrormsg, stderr);
@@ -398,7 +396,7 @@ pq_putint(int i, int b)
 
    if (status)
    {
-       sprintf(PQerrormsg,
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
                "FATAL: pq_putint failed: errno=%d\n", errno);
        fputs(PQerrormsg, stderr);
        pqdebug("%s", PQerrormsg);
@@ -431,7 +429,7 @@ pq_getinaddr(struct sockaddr_in * sin,
            }
            if (hs->h_addrtype != AF_INET)
            {
-               sprintf(PQerrormsg,
+               snprintf(PQerrormsg, ERROR_MSG_LENGTH,
                        "FATAL: pq_getinaddr: %s not on Internet\n",
                        host);
                fputs(PQerrormsg, stderr);
@@ -461,7 +459,7 @@ pq_getinserv(struct sockaddr_in * sin, char *host, char *serv)
        return pq_getinaddr(sin, host, atoi(serv));
    if (!(ss = getservbyname(serv, NULL)))
    {
-       sprintf(PQerrormsg,
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
                "FATAL: pq_getinserv: unknown service: %s\n",
                serv);
        fputs(PQerrormsg, stderr);
@@ -521,7 +519,7 @@ StreamServerPort(char *hostName, short portName, int *fdP)
 
    if ((fd = socket(family, SOCK_STREAM, 0)) < 0)
    {
-       sprintf(PQerrormsg,
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
                "FATAL: StreamServerPort: socket() failed: errno=%d\n",
                errno);
        fputs(PQerrormsg, stderr);
@@ -531,7 +529,7 @@ StreamServerPort(char *hostName, short portName, int *fdP)
    if ((setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *) &one,
                    sizeof(one))) == -1)
    {
-       sprintf(PQerrormsg,
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH, 
                "FATAL: StreamServerPort: setsockopt (SO_REUSEADDR) failed: errno=%d\n",
                errno);
        fputs(PQerrormsg, stderr);
@@ -576,18 +574,20 @@ StreamServerPort(char *hostName, short portName, int *fdP)
    err = bind(fd, &saddr.sa, len);
    if (err < 0)
    {
-       sprintf(PQerrormsg,
-               "FATAL: StreamServerPort: bind() failed: errno=%d\n",
-               errno);
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
+               "FATAL: StreamServerPort: bind() failed: errno=%d\n", errno);
        pqdebug("%s", PQerrormsg);
        strcat(PQerrormsg,
               "\tIs another postmaster already running on that port?\n");
        if (family == AF_UNIX)
-           sprintf(PQerrormsg + strlen(PQerrormsg),
-                   "\tIf not, remove socket node (%s) and retry.\n",
-                   sock_path);
+       {
+           snprintf(PQerrormsg + strlen(PQerrormsg), ERROR_MSG_LENGTH,
+                   "\tIf not, remove socket node (%s) and retry.\n", sock_path);
+       }
        else
+       {
            strcat(PQerrormsg, "\tIf not, wait a few seconds and retry.\n");
+       }
        fputs(PQerrormsg, stderr);
        return STATUS_ERROR;
    }
@@ -723,9 +723,8 @@ StreamOpen(char *hostName, short portName, Port *port)
    {
        if (!(hp = gethostbyname(hostName)) || hp->h_addrtype != AF_INET)
        {
-           sprintf(PQerrormsg,
-                   "FATAL: StreamOpen: unknown hostname: %s\n",
-                   hostName);
+           snprintf(PQerrormsg, ERROR_MSG_LENGTH,
+                   "FATAL: StreamOpen: unknown hostname: %s\n", hostName);
            fputs(PQerrormsg, stderr);
            pqdebug("%s", PQerrormsg);
            return STATUS_ERROR;
@@ -745,9 +744,8 @@ StreamOpen(char *hostName, short portName, Port *port)
    /* connect to the server */
    if ((port->sock = socket(port->raddr.sa.sa_family, SOCK_STREAM, 0)) < 0)
    {
-       sprintf(PQerrormsg,
-               "FATAL: StreamOpen: socket() failed: errno=%d\n",
-               errno);
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
+               "FATAL: StreamOpen: socket() failed: errno=%d\n", errno);
        fputs(PQerrormsg, stderr);
        pqdebug("%s", PQerrormsg);
        return STATUS_ERROR;
@@ -755,9 +753,8 @@ StreamOpen(char *hostName, short portName, Port *port)
    err = connect(port->sock, &port->raddr.sa, len);
    if (err < 0)
    {
-       sprintf(PQerrormsg,
-               "FATAL: StreamOpen: connect() failed: errno=%d\n",
-               errno);
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
+               "FATAL: StreamOpen: connect() failed: errno=%d\n", errno);
        fputs(PQerrormsg, stderr);
        pqdebug("%s", PQerrormsg);
        return STATUS_ERROR;
@@ -766,9 +763,8 @@ StreamOpen(char *hostName, short portName, Port *port)
    /* fill in the client address */
    if (getsockname(port->sock, &port->laddr.sa, &len) < 0)
    {
-       sprintf(PQerrormsg,
-               "FATAL: StreamOpen: getsockname() failed: errno=%d\n",
-               errno);
+       snprintf(PQerrormsg, ERROR_MSG_LENGTH,
+               "FATAL: StreamOpen: getsockname() failed: errno=%d\n", errno);
        fputs(PQerrormsg, stderr);
        pqdebug("%s", PQerrormsg);
        return STATUS_ERROR;
index 4d573d89d3b1ea339c5acaa449746dcf7c936cd4..c9cd23641eb802e2a3d184548bd304f1041ede71 100644 (file)
@@ -5,9 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/libpq/Attic/util.c,v 1.5 1997/09/08 02:23:21 momjian Exp $
+ *  $Id: util.c,v 1.6 1998/12/14 06:50:27 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
index d5965f73ecc9a0a0edb1ba36ae74f60fe03c2d9c..8115957e7a332d71135f582a88b13f152ff015f5 100644 (file)
@@ -5,9 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.50 1998/12/14 00:01:47 thomas Exp $
+ *  $Id: outfuncs.c,v 1.51 1998/12/14 06:50:28 scrappy Exp $
  *
  * NOTES
  *   Every (plan) node in POSTGRES has an associated "out" routine which
index 0a692bd506081404d024f6d9e96e63f5169414fd..3dc0cad8165c0e1a0dbb81b9c0931f09afff0e27 100644 (file)
@@ -5,9 +5,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- *
- * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.90 1998/12/04 15:34:28 thomas Exp $
+ *  $Id: analyze.c,v 1.91 1998/12/14 06:50:32 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */