summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2023-12-04 12:10:42 +0100
committerThomas Haller <thaller@redhat.com>2023-12-04 12:10:42 +0100
commitdaa8efcb4c45bd4ad359d74e5f040ef75ad892c9 (patch)
tree6cbb12c5834ea83de8f0dd410a16e019d340b176
parentd8a1ff30c4864bd57c2d895ef88df8a2d138a17d (diff)
downloadlibnl-daa8efcb4c45bd4ad359d74e5f040ef75ad892c9.tar.gz
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.c23
1 files changed, 10 insertions, 13 deletions
diff --git a/lib/xfrm/sa.c b/lib/xfrm/sa.c
index 0970b441..0c89c715 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;
}