From 603ee4d65d6eddf0e715068d91c17d1b56efcdad Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sun, 16 Jan 2022 21:59:49 -0500 Subject: [PATCH] lib/hx509: _hx509_cert_to_env free 'buf' The output buffer returned from hx509_name_to_string() must be freed before it is overwritten by another call to hx509_name_to_string(). Change-Id: Iaf28b14a2712cd28085ac5452819818e739d43ed --- lib/hx509/cert.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/hx509/cert.c b/lib/hx509/cert.c index e5b5c1266..9cff047e3 100644 --- a/lib/hx509/cert.c +++ b/lib/hx509/cert.c @@ -3706,13 +3706,12 @@ _hx509_cert_to_env(hx509_context context, hx509_cert cert, hx509_env *env) goto out; ret = hx509_name_to_string(name, &buf); - if (ret) { - hx509_name_free(&name); + hx509_name_free(&name); + if (ret) goto out; - } ret = hx509_env_add(context, &envcert, "subject", buf); - hx509_name_free(&name); + hx509_xfree(buf); if (ret) goto out;