diff options
author | Thomas Egerer <thomas.egerer@secunet.com> | 2016-06-06 13:21:35 (GMT) |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-06-25 12:03:50 (GMT) |
commit | 6a9b59ca731c739fd4a5e3cbcac28309ec427f4b (patch) | |
tree | e9351df256c13b5cf22aa2b4d9f33916222c8df3 | |
parent | c009b20919562e6968969309049064d59d35010a (diff) | |
download | libnl-6a9b59ca731c739fd4a5e3cbcac28309ec427f4b.zip libnl-6a9b59ca731c739fd4a5e3cbcac28309ec427f4b.tar.gz libnl-6a9b59ca731c739fd4a5e3cbcac28309ec427f4b.tar.bz2 |
xfrm: make character pointers in setters const
All of these pointers are either strcpy'd or memcpy'd and usually const
in a calling application. Changing them to const in the header does not
break the compatibility and allows for users with const pointers to use
the library without compiler warnings.
Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com>
Signed-off-by: Thomas Haller <thaller@redhat.com>
http://lists.infradead.org/pipermail/libnl/2016-June/002137.html
-rw-r--r-- | include/netlink/xfrm/sa.h | 16 | ||||
-rw-r--r-- | lib/xfrm/sa.c | 20 |
2 files changed, 19 insertions, 17 deletions
diff --git a/include/netlink/xfrm/sa.h b/include/netlink/xfrm/sa.h index acc7f4d..9209ab0 100644 --- a/include/netlink/xfrm/sa.h +++ b/include/netlink/xfrm/sa.h @@ -111,19 +111,21 @@ extern int xfrmnl_sa_set_flags (struct xfrmnl_sa*, unsigned extern int xfrmnl_sa_get_aead_params (struct xfrmnl_sa*, char*, unsigned int*, unsigned int*, char*); -extern int xfrmnl_sa_set_aead_params (struct xfrmnl_sa*, char*, unsigned int, - unsigned int, char*); +extern int xfrmnl_sa_set_aead_params (struct xfrmnl_sa*, const char*, unsigned int, + unsigned int, const char*); extern int xfrmnl_sa_get_auth_params (struct xfrmnl_sa*, char*, unsigned int*, unsigned int*, char*); -extern int xfrmnl_sa_set_auth_params (struct xfrmnl_sa*, char*, unsigned int, - unsigned int, char*); +extern int xfrmnl_sa_set_auth_params (struct xfrmnl_sa*, const char*, unsigned int, + unsigned int, const char*); extern int xfrmnl_sa_get_crypto_params (struct xfrmnl_sa*, char*, unsigned int*, char*); -extern int xfrmnl_sa_set_crypto_params (struct xfrmnl_sa*, char*, unsigned int, char*); +extern int xfrmnl_sa_set_crypto_params (struct xfrmnl_sa*, const char*, unsigned int, + const char*); extern int xfrmnl_sa_get_comp_params (struct xfrmnl_sa*, char*, unsigned int*, char*); -extern int xfrmnl_sa_set_comp_params (struct xfrmnl_sa*, char*, unsigned int, char*); +extern int xfrmnl_sa_set_comp_params (struct xfrmnl_sa*, const char*, unsigned int, + const char*); extern int xfrmnl_sa_get_encap_tmpl (struct xfrmnl_sa*, unsigned int*, unsigned int*, unsigned int*, struct nl_addr**); @@ -142,7 +144,7 @@ extern int xfrmnl_sa_set_mark (struct xfrmnl_sa*, unsigned extern int xfrmnl_sa_get_sec_ctx (struct xfrmnl_sa*, unsigned int, unsigned int, unsigned int, unsigned int, char*); extern int xfrmnl_sa_set_sec_ctx (struct xfrmnl_sa*, unsigned int, unsigned int, - unsigned int, unsigned int, char*); + unsigned int, unsigned int, const char*); extern int xfrmnl_sa_get_replay_maxage (struct xfrmnl_sa*); extern int xfrmnl_sa_set_replay_maxage (struct xfrmnl_sa*, unsigned int); diff --git a/lib/xfrm/sa.c b/lib/xfrm/sa.c index 1cd6edd..0b813c4 100644 --- a/lib/xfrm/sa.c +++ b/lib/xfrm/sa.c @@ -1627,7 +1627,7 @@ int xfrmnl_sa_get_aead_params (struct xfrmnl_sa* sa, char* alg_name, unsigned in return 0; } -int xfrmnl_sa_set_aead_params (struct xfrmnl_sa* sa, char* alg_name, unsigned int key_len, unsigned int icv_len, char* key) +int xfrmnl_sa_set_aead_params (struct xfrmnl_sa* sa, const char* alg_name, unsigned int key_len, unsigned int icv_len, const char* key) { size_t keysize = sizeof (uint8_t) * ((key_len + 7)/8); uint32_t newlen = sizeof (struct xfrmnl_algo_aead) + keysize; @@ -1642,7 +1642,7 @@ int xfrmnl_sa_set_aead_params (struct xfrmnl_sa* sa, char* alg_name, unsigned in strcpy (sa->aead->alg_name, alg_name); sa->aead->alg_key_len = key_len; sa->aead->alg_icv_len = icv_len; - memcpy ((void *)sa->aead->alg_key, (void *)key, keysize); + memcpy (sa->aead->alg_key, key, keysize); sa->ce_mask |= XFRM_SA_ATTR_ALG_AEAD; @@ -1664,7 +1664,7 @@ int xfrmnl_sa_get_auth_params (struct xfrmnl_sa* sa, char* alg_name, unsigned in return 0; } -int xfrmnl_sa_set_auth_params (struct xfrmnl_sa* sa, char* alg_name, unsigned int key_len, unsigned int trunc_len, char* key) +int xfrmnl_sa_set_auth_params (struct xfrmnl_sa* sa, const char* alg_name, unsigned int key_len, unsigned int trunc_len, const char* key) { size_t keysize = sizeof (uint8_t) * ((key_len + 7)/8); uint32_t newlen = sizeof (struct xfrmnl_algo_auth) + keysize; @@ -1679,7 +1679,7 @@ int xfrmnl_sa_set_auth_params (struct xfrmnl_sa* sa, char* alg_name, unsigned in strcpy (sa->auth->alg_name, alg_name); sa->auth->alg_key_len = key_len; sa->auth->alg_trunc_len = trunc_len; - memcpy ((void *)sa->auth->alg_key, (void *)key, keysize); + memcpy (sa->auth->alg_key, key, keysize); sa->ce_mask |= XFRM_SA_ATTR_ALG_AUTH; @@ -1700,7 +1700,7 @@ int xfrmnl_sa_get_crypto_params (struct xfrmnl_sa* sa, char* alg_name, unsigned return 0; } -int xfrmnl_sa_set_crypto_params (struct xfrmnl_sa* sa, char* alg_name, unsigned int key_len, char* key) +int xfrmnl_sa_set_crypto_params (struct xfrmnl_sa* sa, const char* alg_name, unsigned int key_len, const char* key) { size_t keysize = sizeof (uint8_t) * ((key_len + 7)/8); uint32_t newlen = sizeof (struct xfrmnl_algo) + keysize; @@ -1714,7 +1714,7 @@ int xfrmnl_sa_set_crypto_params (struct xfrmnl_sa* sa, char* alg_name, unsigned /* Save the new info */ strcpy (sa->crypt->alg_name, alg_name); sa->crypt->alg_key_len = key_len; - memcpy ((void *)sa->crypt->alg_key, (void *)key, keysize); + memcpy (sa->crypt->alg_key, key, keysize); sa->ce_mask |= XFRM_SA_ATTR_ALG_CRYPT; @@ -1735,7 +1735,7 @@ int xfrmnl_sa_get_comp_params (struct xfrmnl_sa* sa, char* alg_name, unsigned in return 0; } -int xfrmnl_sa_set_comp_params (struct xfrmnl_sa* sa, char* alg_name, unsigned int key_len, char* key) +int xfrmnl_sa_set_comp_params (struct xfrmnl_sa* sa, const char* alg_name, unsigned int key_len, const char* key) { size_t keysize = sizeof (uint8_t) * ((key_len + 7)/8); uint32_t newlen = sizeof (struct xfrmnl_algo) + keysize; @@ -1749,7 +1749,7 @@ int xfrmnl_sa_set_comp_params (struct xfrmnl_sa* sa, char* alg_name, unsigned in /* Save the new info */ strcpy (sa->comp->alg_name, alg_name); sa->comp->alg_key_len = key_len; - memcpy ((void *)sa->comp->alg_key, (void *)key, keysize); + memcpy (sa->comp->alg_key, key, keysize); sa->ce_mask |= XFRM_SA_ATTR_ALG_COMP; @@ -1869,7 +1869,7 @@ int xfrmnl_sa_get_sec_ctx (struct xfrmnl_sa* sa, unsigned int* doi, unsigned int return 0; } -int xfrmnl_sa_set_sec_ctx (struct xfrmnl_sa* sa, unsigned int doi, unsigned int alg, unsigned int len, unsigned int sid, char* ctx_str) +int xfrmnl_sa_set_sec_ctx (struct xfrmnl_sa* sa, unsigned int doi, unsigned int alg, unsigned int len, unsigned int sid, const char* ctx_str) { /* Free up the old context string and allocate new one */ if (sa->sec_ctx) @@ -1882,7 +1882,7 @@ int xfrmnl_sa_set_sec_ctx (struct xfrmnl_sa* sa, unsigned int doi, unsigned int sa->sec_ctx->ctx_alg = alg; sa->sec_ctx->ctx_len = len; sa->sec_ctx->ctx_sid = sid; - memcpy ((void *)sa->sec_ctx->ctx_str, (void *)ctx_str, sizeof (uint8_t) * len); + memcpy (sa->sec_ctx->ctx_str, ctx_str, sizeof (uint8_t) * len); sa->ce_mask |= XFRM_SA_ATTR_SECCTX; |