]> granicus.if.org Git - ipset/commitdiff
libipset: ipset_strncpy is really a strlcpy-type operation
authorJan Engelhardt <jengelh@medozas.de>
Sun, 19 Dec 2010 02:09:56 +0000 (03:09 +0100)
committerJan Engelhardt <jengelh@medozas.de>
Sun, 19 Dec 2010 05:11:44 +0000 (06:11 +0100)
include/libipset/data.h
lib/data.c
lib/types.c

index cb3539330100e30a8f3e763c19b5fcca4e1bc850..4710963d44455f1ac72f54a393e8d4c792e85b68 100644 (file)
@@ -100,7 +100,7 @@ enum ipset_opt {
 
 struct ipset_data;
 
-extern void ipset_strncpy(char *dst, const char *src, size_t len);
+extern void ipset_strlcpy(char *dst, const char *src, size_t len);
 extern bool ipset_data_flags_test(const struct ipset_data *data,
                                  uint64_t flags);
 extern void ipset_data_flags_set(struct ipset_data *data, uint64_t flags);
index 2872c0dd6714edee3a5f05a7031ccc7893cdc6fd..6bc423b1046759ac77ef5e941037bb055dab8bc5 100644 (file)
@@ -85,7 +85,7 @@ copy_addr(uint8_t family, union nf_inet_addr *ip, const void *value)
 }
 
 /**
- * ipset_strncpy - copy the string from src to dst
+ * ipset_strlcpy - copy the string from src to dst
  * @dst: the target string buffer
  * @src: the source string buffer
  * @len: the length of bytes to copy, including the terminating null byte.
@@ -94,7 +94,7 @@ copy_addr(uint8_t family, union nf_inet_addr *ip, const void *value)
  * copied. The target is unconditionally terminated by the null byte.
  */
 void
-ipset_strncpy(char *dst, const char *src, size_t len)
+ipset_strlcpy(char *dst, const char *src, size_t len)
 {
        assert(dst);
        assert(src);
@@ -199,7 +199,7 @@ ipset_data_set(struct ipset_data *data, enum ipset_opt opt, const void *value)
        switch (opt) {
        /* Common ones */
        case IPSET_SETNAME:
-               ipset_strncpy(data->setname, value, IPSET_MAXNAMELEN);
+               ipset_strlcpy(data->setname, value, IPSET_MAXNAMELEN);
                break;
        case IPSET_OPT_TYPE:
                data->type = value;
@@ -265,7 +265,7 @@ ipset_data_set(struct ipset_data *data, enum ipset_opt opt, const void *value)
                break;
        /* Create-specific options, type */
        case IPSET_OPT_TYPENAME:
-               ipset_strncpy(data->u.create.typename, value,
+               ipset_strlcpy(data->u.create.typename, value,
                              IPSET_MAXNAMELEN);
                break;
        case IPSET_OPT_REVISION:
@@ -279,10 +279,10 @@ ipset_data_set(struct ipset_data *data, enum ipset_opt opt, const void *value)
                memcpy(data->u.adt.ether, value, ETH_ALEN);
                break;
        case IPSET_OPT_NAME:
-               ipset_strncpy(data->u.adt.name, value, IPSET_MAXNAMELEN);
+               ipset_strlcpy(data->u.adt.name, value, IPSET_MAXNAMELEN);
                break;
        case IPSET_OPT_NAMEREF:
-               ipset_strncpy(data->u.adt.nameref, value, IPSET_MAXNAMELEN);
+               ipset_strlcpy(data->u.adt.nameref, value, IPSET_MAXNAMELEN);
                break;
        case IPSET_OPT_IP2:
                if (!(data->family == AF_INET || data->family == AF_INET6))
@@ -297,7 +297,7 @@ ipset_data_set(struct ipset_data *data, enum ipset_opt opt, const void *value)
                break;
        /* Swap/rename */
        case IPSET_OPT_SETNAME2:
-               ipset_strncpy(data->u.setname2, value, IPSET_MAXNAMELEN);
+               ipset_strlcpy(data->u.setname2, value, IPSET_MAXNAMELEN);
                break;
        /* flags */
        case IPSET_OPT_EXIST:
index 303447747ef3ae147bcaa7c84935664eb4c4de0d..d979c24af9cb34fb8ed7f8a6eed046f1ccd5ddf0 100644 (file)
@@ -54,7 +54,7 @@ ipset_cache_add(const char *name, const struct ipset_type *type,
        if (n == NULL)
                return -ENOMEM;
 
-       ipset_strncpy(n->name, name, IPSET_MAXNAMELEN);
+       ipset_strlcpy(n->name, name, IPSET_MAXNAMELEN);
        n->type = type;
        n->family = family;
        n->next = NULL; 
@@ -133,7 +133,7 @@ ipset_cache_rename(const char *from, const char *to)
 
        for (s = setlist; s != NULL; s = s->next) {
                if (STREQ(s->name, from)) {
-                       ipset_strncpy(s->name, to, IPSET_MAXNAMELEN);
+                       ipset_strlcpy(s->name, to, IPSET_MAXNAMELEN);
                        return 0;
                }
        }
@@ -164,8 +164,8 @@ ipset_cache_swap(const char *from, const char *to)
                        b = s;
        }
        if (a != NULL && b != NULL) {
-               ipset_strncpy(a->name, to, IPSET_MAXNAMELEN);
-               ipset_strncpy(b->name, from, IPSET_MAXNAMELEN);
+               ipset_strlcpy(a->name, to, IPSET_MAXNAMELEN);
+               ipset_strlcpy(b->name, from, IPSET_MAXNAMELEN);
                return 0;
        }