<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>



<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">

<p style="color: #777777;">
<a href="https://gitlab.com/sahprasa">Sahana Prasad</a>
commented on a
discussion on <a href="https://gitlab.com/gnutls/gnutls/-/merge_requests/1262#note_352312200">lib/x509/verify.c</a>:
</p>
<table>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="655" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
655
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC655" class="line" lang="c">                            <span class="n" style="color: #333;">_gnutls_debug_log</span><span class="p">(</span><span class="s" style="color: #d14;">"gnutls_x509_crt_init: %s</span><span class="se" style="color: #d14;">\n</span><span class="s" style="color: #d14;">"</span><span class="p">,</span> <span class="n" style="color: #333;">gnutls_strerror</span><span class="p">(</span><span class="n" style="color: #333;">ret</span><span class="p">));</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="656" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
656
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC656" class="line" lang="c">                            <span class="n" style="color: #333;">gnutls_assert</span><span class="p">();</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="657" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
657
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC657" class="line" lang="c">                            <span class="n" style="color: #333;">MARK_INVALID</span><span class="p">(</span><span class="n" style="color: #333;">GNUTLS_CERT_SIGNER_NOT_FOUND</span><span class="p">);</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="658" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
658
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC658" class="line" lang="c">                            <span class="k" style="font-weight: 600;">goto</span> <span class="n" style="color: #333;">cleanup</span><span class="p">;</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="659" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
659
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC659" class="line" lang="c">                    <span class="p">}</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="660" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
660
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC660" class="line" lang="c"></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="661" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
661
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC661" class="line" lang="c">                    <span class="cm" style="color: #998; font-style: italic;">/* missing issuer is populated by the callback */</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="662" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
662
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC662" class="line" lang="c">                    <span class="n" style="color: #333;">ret</span> <span class="o" style="font-weight: 600;">=</span> <span class="n" style="color: #333;">tlist</span><span class="o" style="font-weight: 600;">-></span><span class="n" style="color: #333;">issuer_callback</span><span class="p">(</span><span class="n" style="color: #333;">tlist</span><span class="p">,</span> <span class="n" style="color: #333;">cert</span><span class="p">,</span> <span class="n" style="color: #333;">issuer</span><span class="p">);</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="663" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
663
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC663" class="line" lang="c">                    <span class="k" style="font-weight: 600;">if</span> <span class="p">(</span><span class="n" style="color: #333;">ret</span> <span class="o" style="font-weight: 600;"><</span> <span class="mi" style="color: #099;">0</span><span class="p">)</span> <span class="p">{</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="664" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
664
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC664" class="line" lang="c">                            <span class="cm" style="color: #998; font-style: italic;">/* if the callback fails, continue as though the callback</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="665" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
665
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC665" class="line" lang="c"><span class="cm" style="color: #998; font-style: italic;">                                 * wasn't invoked i.e issuer remains NULL */</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="666" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
666
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC666" class="line" lang="c">                            <span class="n" style="color: #333;">gnutls_x509_crt_deinit</span><span class="p">(</span><span class="n" style="color: #333;">issuer</span><span class="p">);</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="667" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
667
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC667" class="line" lang="c">                            <span class="n" style="color: #333;">gnutls_assert</span><span class="p">();</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="668" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
668
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC668" class="line" lang="c">                            <span class="n" style="color: #333;">issuer</span> <span class="o" style="font-weight: 600;">=</span> <span class="nb" style="color: #0086b3;">NULL</span><span class="p">;</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="669" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
669
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC669" class="line" lang="c">                    <span class="p">}</span> <span class="k" style="font-weight: 600;">else</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="">
<td class="diff-line-num new old_line" data-linenumber="648" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
 
</td>
<td class="diff-line-num new new_line" data-linenumber="670" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
670
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC670" class="line" lang="c">                            <span class="n" style="color: #333;">issuer_deinit</span> <span class="o" style="font-weight: 600;">=</span> <span class="nb" style="color: #0086b3;">true</span><span class="p">;</span></span>
</pre>
</td>
</tr>

</table>
<div style="">
<p dir="auto"><a href="https://gitlab.com/i" data-user="4810274" data-reference-type="user" data-container="body" data-placement="top" data-html="true" class="gfm gfm-project_member js-user-link" title="Jack">@i</a>'m afraid this would still leak.
I tried this method and If I don't call <code>gnutls_x509_crt_deinit</code> in verify_crt() in cleanup,</p>
<p dir="auto">==9252==ERROR: LeakSanitizer: detected memory leaks</p>
<p dir="auto">Direct leak of 136 byte(s) in 1 object(s) allocated from:<br>
#0 0x7f2096d83e56 in __interceptor_calloc (/lib64/libasan.so.5+0x10de56)<br>
<a href="https://gitlab.com/gnutls/gnutls/-/issues/1" data-original="#1" data-link="false" data-link-reference="false" data-project="179611" data-issue="157930" data-reference-type="issue" data-container="body" data-placement="top" data-html="true" title="gnutls_pkcs11_privkey_generate2 does not set CKA_ID" class="gfm gfm-issue has-tooltip">#1</a> 0x7f20966de301 in gnutls_x509_crt_init /home/sprasad/workspace/projects/gnutls/gnutls/lib/x509/x509.c:207<br>
<a href="https://gitlab.com/gnutls/gnutls/-/issues/2" data-original="#2" data-link="false" data-link-reference="false" data-project="179611" data-issue="172979" data-reference-type="issue" data-container="body" data-placement="top" data-html="true" title="Gnutls 3.3.X + Wine = problem" class="gfm gfm-issue has-tooltip">#2</a> 0x402677 in getissuer_callback /home/sprasad/workspace/projects/gnutls/gnutls/tests/missingissuer_aia.c:74<br>
<a href="https://gitlab.com/gnutls/gnutls/-/issues/3" data-original="#3" data-link="false" data-link-reference="false" data-project="179611" data-issue="176000" data-reference-type="issue" data-container="body" data-placement="top" data-html="true" title="DNS Name Constraints with leading dot" class="gfm gfm-issue has-tooltip">#3</a> 0x7f20966d6691 in verify_crt /home/sprasad/workspace/projects/gnutls/gnutls/lib/x509/verify.c:653<br>
<a href="https://gitlab.com/gnutls/gnutls/-/issues/4" data-original="#4" data-link="false" data-link-reference="false" data-project="179611" data-issue="189064" data-reference-type="issue" data-container="body" data-placement="top" data-html="true" title="certtool: parse CSR files with -i" class="gfm gfm-issue has-tooltip">#4</a> 0x7f20966d9cf5 in _gnutls_verify_crt_status /home/sprasad/workspace/projects/gnutls/gnutls/lib/x509/verify.c:1033<br>
<a href="https://gitlab.com/gnutls/gnutls/-/issues/5" data-original="#5" data-link="false" data-link-reference="false" data-project="179611" data-issue="189629" data-reference-type="issue" data-container="body" data-placement="top" data-html="true" title="certtool --outder --generate-dh-params produces PEM-encoded output" class="gfm gfm-issue has-tooltip">#5</a> 0x7f209670d6ac in gnutls_x509_trust_list_verify_crt2 /home/sprasad/workspace/projects/gnutls/gnutls/lib/x509/verify-high.c:1335<br>
<a href="https://gitlab.com/gnutls/gnutls/-/issues/6" data-original="#6" data-link="false" data-link-reference="false" data-project="179611" data-issue="190022" data-reference-type="issue" data-container="body" data-placement="top" data-html="true" title="GnuTLS 3.3.14 breaks against Guile with Clang" class="gfm gfm-issue has-tooltip">#6</a> 0x7f209670e892 in gnutls_x509_trust_list_verify_crt /home/sprasad/workspace/projects/gnutls/gnutls/lib/x509/verify-high.c:1188<br>
<a href="https://gitlab.com/gnutls/gnutls/-/issues/7" data-original="#7" data-link="false" data-link-reference="false" data-project="179611" data-issue="199382" data-reference-type="issue" data-container="body" data-placement="top" data-html="true" title="3.4.0 does not compile on OS X" class="gfm gfm-issue has-tooltip">#7</a> 0x403586 in doit /home/sprasad/workspace/projects/gnutls/gnutls/tests/missingissuer_aia.c:228<br>
<a href="https://gitlab.com/gnutls/gnutls/-/issues/8" data-original="#8" data-link="false" data-link-reference="false" data-project="179611" data-issue="216500" data-reference-type="issue" data-container="body" data-placement="top" data-html="true" title="Cross build of GnuTLS 3.3.14 for ARM links against build system libraries" class="gfm gfm-issue has-tooltip">#8</a> 0x404876 in main /home/sprasad/workspace/projects/gnutls/gnutls/tests/utils.c:254<br>
<a href="https://gitlab.com/gnutls/gnutls/-/issues/9" data-original="#9" data-link="false" data-link-reference="false" data-project="179611" data-issue="221163" data-reference-type="issue" data-container="body" data-placement="top" data-html="true" title="Add support for RFC 7507" class="gfm gfm-issue has-tooltip">#9</a> 0x7f2095229f42 in __libc_start_main (/lib64/libc.so.6+0x23f42)</p>
</div>


</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #777;">

<br>
Reply to this email directly or <a href="https://gitlab.com/gnutls/gnutls/-/merge_requests/1262#note_352312200">view it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.com.
If you'd like to receive fewer emails, you can
<a href="https://gitlab.com/-/sent_notifications/cebcaa8e80808264363237d39c73ef6b/unsubscribe">unsubscribe</a>
from this thread or
adjust your notification settings.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Merge request","url":"https://gitlab.com/gnutls/gnutls/-/merge_requests/1262#note_352312200"}}</script>


</p>
</div>
</body>
</html>