diff options
author | Thomas Haller <thaller@redhat.com> | 2023-12-04 11:10:42 (GMT) |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2023-12-04 11:10:42 (GMT) |
commit | daa8efcb4c45bd4ad359d74e5f040ef75ad892c9 (patch) | |
tree | 6cbb12c5834ea83de8f0dd410a16e019d340b176 | |
parent | d8a1ff30c4864bd57c2d895ef88df8a2d138a17d (diff) | |
download | libnl-daa8efcb4c45bd4ad359d74e5f040ef75ad892c9.zip libnl-daa8efcb4c45bd4ad359d74e5f040ef75ad892c9.tar.gz libnl-daa8efcb4c45bd4ad359d74e5f040ef75ad892c9.tar.bz2 |
xfrm: return -NLE_MISSING_ATTR from xfrmnl_sa_get_auth_params()
Don't return -1, that is not an error code.
Also, return early from function.
-rw-r--r-- | lib/xfrm/sa.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/lib/xfrm/sa.c b/lib/xfrm/sa.c index 0970b44..0c89c71 100644 --- a/lib/xfrm/sa.c +++ b/lib/xfrm/sa.c @@ -1826,20 +1826,17 @@ int xfrmnl_sa_set_aead_params (struct xfrmnl_sa* sa, const char* alg_name, unsig */ int xfrmnl_sa_get_auth_params (struct xfrmnl_sa* sa, char* alg_name, unsigned int* key_len, unsigned int* trunc_len, char* key) { - if (sa->ce_mask & XFRM_SA_ATTR_ALG_AUTH) - { - if (alg_name) - strcpy (alg_name, sa->auth->alg_name); - if (key_len) - *key_len = sa->auth->alg_key_len; - if (trunc_len) - *trunc_len = sa->auth->alg_trunc_len; - if (key) - memcpy (key, sa->auth->alg_key, (sa->auth->alg_key_len + 7)/8); - } - else - return -1; + if (!(sa->ce_mask & XFRM_SA_ATTR_ALG_AUTH)) + return -NLE_MISSING_ATTR; + if (alg_name) + strcpy(alg_name, sa->auth->alg_name); + if (key_len) + *key_len = sa->auth->alg_key_len; + if (trunc_len) + *trunc_len = sa->auth->alg_trunc_len; + if (key) + memcpy(key, sa->auth->alg_key, (sa->auth->alg_key_len + 7) / 8); return 0; } |