From: David Sommerseth Date: Mon, 14 Aug 2017 13:19:37 +0000 (+0200) Subject: sample-plugins: fix ASN1_STRING_to_UTF8 return value checks X-Git-Tag: v2.4.4~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5ed5030c349326c5448fd87424c1a2283ccee18f;p=thirdparty%2Fopenvpn.git sample-plugins: fix ASN1_STRING_to_UTF8 return value checks As we did in 2d032c7f for the ASN1_STRING_to_UTF8() calls in the core code, we should also free(buf) if the function returns 0. [DS: On-the-fly merge conflict fix: There was a conflict against the OpenSSL 0.9.6b workaround in v2.4. Since we no longer support anything older than OpenSSL 0.9.8 in release/2.4, whack that workaround and be more consistent with git master those two places] Signed-off-by: Steffan Karger Acked-by: David Sommerseth Message-Id: <1501238302-16714-1-git-send-email-steffan.karger@fox-it.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg15161.html Signed-off-by: David Sommerseth (cherry picked from commit c43045ca0590364552fbd060cc65ee1c50a4866a) --- diff --git a/sample/sample-plugins/keying-material-exporter-demo/keyingmaterialexporter.c b/sample/sample-plugins/keying-material-exporter-demo/keyingmaterialexporter.c index 226eea6ac..c4839077b 100644 --- a/sample/sample-plugins/keying-material-exporter-demo/keyingmaterialexporter.c +++ b/sample/sample-plugins/keying-material-exporter-demo/keyingmaterialexporter.c @@ -142,9 +142,8 @@ session_user_set(struct session *sess, X509 *x509) { continue; } - /* bug in OpenSSL 0.9.6b ASN1_STRING_to_UTF8 requires this workaround */ - unsigned char *buf = (unsigned char *)1; - if (ASN1_STRING_to_UTF8(&buf, val) <= 0) + unsigned char *buf = NULL; + if (ASN1_STRING_to_UTF8(&buf, val) < 0) { continue; } diff --git a/sample/sample-plugins/log/log_v3.c b/sample/sample-plugins/log/log_v3.c index 8b537dd72..f913a19a7 100644 --- a/sample/sample-plugins/log/log_v3.c +++ b/sample/sample-plugins/log/log_v3.c @@ -227,8 +227,7 @@ x509_print_info(X509 *x509crt) { continue; } - buf = (unsigned char *)1; /* bug in OpenSSL 0.9.6b ASN1_STRING_to_UTF8 requires this workaround */ - if (ASN1_STRING_to_UTF8(&buf, val) <= 0) + if (ASN1_STRING_to_UTF8(&buf, val) < 0) { continue; }