]> granicus.if.org Git - postgresql/commitdiff
Replace some strncpy() by strlcpy().
authorPeter Eisentraut <peter_e@gmx.net>
Wed, 7 Feb 2007 00:52:35 +0000 (00:52 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Wed, 7 Feb 2007 00:52:35 +0000 (00:52 +0000)
contrib/chkpass/chkpass.c
contrib/dblink/dblink.c
src/backend/libpq/be-secure.c
src/backend/utils/fmgr/dfmgr.c
src/backend/utils/misc/guc.c
src/bin/psql/tab-complete.c
src/interfaces/ecpg/preproc/descriptor.c
src/test/regress/pg_regress.c

index 0842291eaf721825b88d5d29db5f0628dfcc74b9..642212de5137a901ab0e019208ce387bb8e2ef2f 100644 (file)
@@ -4,7 +4,7 @@
  * darcy@druid.net
  * http://www.druid.net/darcy/
  *
- * $PostgreSQL: pgsql/contrib/chkpass/chkpass.c,v 1.17 2006/07/14 05:28:27 tgl Exp $
+ * $PostgreSQL: pgsql/contrib/chkpass/chkpass.c,v 1.18 2007/02/07 00:52:35 petere Exp $
  * best viewed with tabs set to 4
  */
 
@@ -76,8 +76,7 @@ chkpass_in(PG_FUNCTION_ARGS)
        if (*str == ':')
        {
                result = (chkpass *) palloc(sizeof(chkpass));
-               strncpy(result->password, str + 1, 13);
-               result->password[13] = 0;
+               strlcpy(result->password, str + 1, 13 + 1);
                PG_RETURN_POINTER(result);
        }
 
@@ -150,8 +149,7 @@ chkpass_eq(PG_FUNCTION_ARGS)
 
        if (a2->vl_len < 12)
                sz = a2->vl_len - 4;
-       strncpy(str, a2->vl_dat, sz);
-       str[sz] = 0;
+       strlcpy(str, a2->vl_dat, sz + 1);
        PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) == 0);
 }
 
@@ -166,7 +164,6 @@ chkpass_ne(PG_FUNCTION_ARGS)
 
        if (a2->vl_len < 12)
                sz = a2->vl_len - 4;
-       strncpy(str, a2->vl_dat, sz);
-       str[sz] = 0;
+       strlcpy(str, a2->vl_dat, sz + 1);
        PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) != 0);
 }
index f4c066240603e3025c748249ef8c97c664ef14b9..568ac1e5f73d05a33bc7a9ccf11b48e7107cc323 100644 (file)
@@ -8,7 +8,7 @@
  * Darko Prenosil <Darko.Prenosil@finteh.hr>
  * Shridhar Daithankar <shridhar_daithankar@persistent.co.in>
  *
- * $PostgreSQL: pgsql/contrib/dblink/dblink.c,v 1.61 2007/01/05 22:19:17 momjian Exp $
+ * $PostgreSQL: pgsql/contrib/dblink/dblink.c,v 1.62 2007/02/07 00:52:35 petere Exp $
  * Copyright (c) 2001-2007, PostgreSQL Global Development Group
  * ALL RIGHTS RESERVED;
  *
@@ -2248,7 +2248,7 @@ createNewConnection(const char *name, remoteConn * rconn)
                                 errmsg("duplicate connection name")));
 
        hentry->rconn = rconn;
-       strncpy(hentry->name, name, NAMEDATALEN - 1);
+       strlcpy(hentry->name, name, sizeof(hentry->name));
 }
 
 static void
index ac0196cead41f7c10412519b93085a887f8a4894..8a54275d9cdbbe135f138cfe64a7def003684dad 100644 (file)
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/libpq/be-secure.c,v 1.76 2007/01/26 20:06:52 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/libpq/be-secure.c,v 1.77 2007/02/07 00:52:35 petere Exp $
  *
  *       Since the server static private key ($DataDir/server.key)
  *       will normally be stored unencrypted so that the database
@@ -933,8 +933,8 @@ aloop:
        port->peer = SSL_get_peer_certificate(port->ssl);
        if (port->peer == NULL)
        {
-               strncpy(port->peer_dn, "(anonymous)", sizeof(port->peer_dn));
-               strncpy(port->peer_cn, "(anonymous)", sizeof(port->peer_cn));
+               strlcpy(port->peer_dn, "(anonymous)", sizeof(port->peer_dn));
+               strlcpy(port->peer_cn, "(anonymous)", sizeof(port->peer_cn));
        }
        else
        {
index fdbcc69cdec9c32d67a8255ab401b040469f0f26..f660c19e29b59fe6f4ee05513136bf499df4573b 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.93 2007/01/05 22:19:43 momjian Exp $
+ *       $PostgreSQL: pgsql/src/backend/utils/fmgr/dfmgr.c,v 1.94 2007/02/07 00:52:35 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -539,8 +539,7 @@ find_in_dynamic_libpath(const char *basename)
                        len = piece - p;
 
                piece = palloc(len + 1);
-               strncpy(piece, p, len);
-               piece[len] = '\0';
+               strlcpy(piece, p, len + 1);
 
                mangled = substitute_libpath_macro(piece);
                pfree(piece);
index 1c8a4893d9530b1b04cfd679bdeeecc34ab94e27..f7e6536f93db7cd266e77594d2055ffb720eb1f0 100644 (file)
@@ -10,7 +10,7 @@
  * Written by Peter Eisentraut <peter_e@gmx.net>.
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.372 2007/02/01 19:10:28 momjian Exp $
+ *       $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.373 2007/02/07 00:52:35 petere Exp $
  *
  *--------------------------------------------------------------------
  */
@@ -5729,8 +5729,7 @@ ParseLongOption(const char *string, char **name, char **value)
        if (string[equal_pos] == '=')
        {
                *name = guc_malloc(FATAL, equal_pos + 1);
-               strncpy(*name, string, equal_pos);
-               (*name)[equal_pos] = '\0';
+               strlcpy(*name, string, equal_pos + 1);
 
                *value = guc_strdup(FATAL, &string[equal_pos + 1]);
        }
index a6fc38c5ead46880201c728cd5a86d5f7610f14a..8012b70a4dc70d3a6c4e923d223274392d312fec 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2007, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.157 2007/01/05 22:19:49 momjian Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.158 2007/02/07 00:52:35 petere Exp $
  */
 
 /*----------------------------------------------------------------------
@@ -2389,9 +2389,7 @@ previous_word(int point, int skip)
 
        /* make a copy */
        s = pg_malloc(end - start + 2);
-
-       strncpy(s, &rl_line_buffer[start], end - start + 1);
-       s[end - start + 1] = '\0';
+       strlcpy(s, &rl_line_buffer[start], end - start + 2);
 
        return s;
 }
@@ -2460,8 +2458,7 @@ dequote_file_name(char *text, char quote_char)
 
        length = strlen(text);
        s = pg_malloc(length - 2 + 1);
-       strncpy(s, text +1, length - 2);
-       s[length] = '\0';
+       strlcpy(s, text +1, length - 2 + 1);
 
        return s;
 }
index f81d3c330c46b09068e0741e0f572be54b631483..3da779a8b04c5a6c7351923575e86b898a22acdb 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * functions needed for descriptor handling
  *
- * $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/descriptor.c,v 1.24 2006/03/11 04:38:40 momjian Exp $
+ * $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/descriptor.c,v 1.25 2007/02/07 00:52:35 petere Exp $
  *
  * since descriptor might be either a string constant or a string var
  * we need to check for a constant if we expect a constant
@@ -323,7 +323,6 @@ descriptor_variable(const char *name, int input)
                {descriptor_names[1], (struct ECPGtype *) & descriptor_type, 0, NULL}
        };
 
-       strncpy(descriptor_names[input], name, MAX_DESCRIPTOR_NAMELEN);
-       descriptor_names[input][MAX_DESCRIPTOR_NAMELEN - 1] = 0;
+       strlcpy(descriptor_names[input], name, sizeof(descriptor_names[input]));
        return (struct variable *) & varspace[input];
 }
index b06dd1bf2cac1b98b1211e00dccd0a31394b6d7d..6aee04c63f15c85d5d422152f6aeb88803e4e1bb 100644 (file)
@@ -11,7 +11,7 @@
  * Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.28 2007/02/01 19:10:30 momjian Exp $
+ * $PostgreSQL: pgsql/src/test/regress/pg_regress.c,v 1.29 2007/02/07 00:52:35 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -349,8 +349,7 @@ replace_string(char *string, char *replace, char *replacement)
        {
                char *dup = strdup(string);
 
-               strncpy(string, dup, ptr - string);
-               string[ptr - string] = 0;
+               strlcpy(string, dup, ptr - string + 1);
                strcat(string, replacement);
                strcat(string, dup + (ptr - string) + strlen(replace));
                free(dup);