summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/xfrm/sa.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/xfrm/sa.c b/lib/xfrm/sa.c
index 4995207..a1abfe7 100644
--- a/lib/xfrm/sa.c
+++ b/lib/xfrm/sa.c
@@ -1167,8 +1167,10 @@ static int build_xfrm_sa_message(struct xfrmnl_sa *tmpl, int cmd, int flags, str
len = sizeof (struct xfrm_algo) + ((tmpl->auth->alg_key_len + 7) / 8);
auth = malloc(len);
- if (!auth)
+ if (!auth) {
+ nlmsg_free(msg);
return -NLE_NOMEM;
+ }
strncpy(auth->alg_name, tmpl->auth->alg_name, sizeof(auth->alg_name));
auth->alg_key_len = tmpl->auth->alg_key_len;