<!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">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; border-collapse: separate; border-spacing: 0; margin: 0 auto;">
<tbody>
<tr>
<td style="font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; overflow: hidden;" align="left" bgcolor="#ffffff">
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr>
<td style="color: #333333; border-bottom-width: 1px; border-bottom-color: #ededed; border-bottom-style: solid; font-size: 15px; font-weight: bold; line-height: 1.4; padding: 20px 0;">
Merge request <a href="https://gitlab.com/gnutls/gnutls/-/merge_requests/1277">!1277</a> was reviewed by <a href="https://gitlab.com/dueno">Daiki Ueno</a>
</td>
</tr>
<tr>
<td style="overflow: hidden; font-size: 14px; line-height: 1.4; display: grid;">
<p style="color: #777777;">
<a href="https://gitlab.com/dueno">Daiki Ueno</a>
started a new
discussion on <a href="https://gitlab.com/gnutls/gnutls/-/merge_requests/1277#note_355871909">lib/crypto-api.c</a>:
</p>
<table>
<tr class="line_holder" id="">
<td class="diff-line-num old_line" data-linenumber="909" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
909
</td>
<td class="diff-line-num new_line" data-linenumber="909" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
909
</td>
<td class="line_content" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC909" class="line" lang="c"> <span class="n" style="color: #333;">s</span><span class="o" style="font-weight: 600;">-></span><span class="n" style="color: #333;">data</span> <span class="o" style="font-weight: 600;">=</span> <span class="n" style="color: #333;">gnutls_realloc</span><span class="p">(</span><span class="n" style="color: #333;">s</span><span class="o" style="font-weight: 600;">-></span><span class="n" style="color: #333;">data</span><span class="p">,</span> <span class="n" style="color: #333;">s</span><span class="o" style="font-weight: 600;">-></span><span class="n" style="color: #333;">size</span><span class="p">);</span></span>
</pre>
</td>
</tr>
</table>
<div style="border-bottom-width: 1px; border-bottom-color: #ededed; border-bottom-style: solid;">
<p dir="auto">This is an issue in the original code, but <code>s->data</code> will leak if <code>gnutls_realloc</code> fails. Maybe good to rewrite it to something like:</p>
<pre class="code highlight js-syntax-highlight c" lang="c" v-pre="true" style="background-color: #fff; font-family: monospace; font-size: 90%; -premailer-cellpadding: 0; -premailer-cellspacing: 0; -premailer-width: 100%; color: #998; font-style: italic; margin: 0;"><code><span id="LC1" class="line" lang="c"><span class="kt" style="color: #458; font-weight: 600;">void</span> <span class="o" style="font-weight: 600;">*</span><span class="n" style="color: #333;">data</span><span class="p">;</span></span>
<span id="LC2" class="line" lang="c"><span class="p">[...]</span></span>
<span id="LC3" class="line" lang="c"><span class="n" style="color: #333;">data</span> <span class="o" style="font-weight: 600;">=</span> <span class="n" style="color: #333;">gnutls_realloc</span><span class="p">(</span><span class="n" style="color: #333;">s</span><span class="o" style="font-weight: 600;">-></span><span class="n" style="color: #333;">data</span><span class="p">,</span> <span class="n" style="color: #333;">s</span><span class="o" style="font-weight: 600;">-></span><span class="n" style="color: #333;">size</span><span class="p">);</span></span>
<span id="LC4" class="line" lang="c"><span class="k" style="font-weight: 600;">if</span> <span class="p">(</span><span class="n" style="color: #333;">data</span> <span class="o" style="font-weight: 600;">==</span> <span class="nb" style="color: #0086b3;">NULL</span><span class="p">)</span></span>
<span id="LC5" class="line" lang="c"> <span class="k" style="font-weight: 600;">return</span> <span class="nf" style="color: #900; font-weight: 600;">gnutls_assert_val</span><span class="p">(</span><span class="n" style="color: #333;">GNUTLS_E_MEMORY_ERROR</span><span class="p">);</span></span>
<span id="LC6" class="line" lang="c"><span class="n" style="color: #333;">s</span><span class="o" style="font-weight: 600;">-></span><span class="n" style="color: #333;">data</span> <span class="o" style="font-weight: 600;">=</span> <span class="n" style="color: #333;">data</span><span class="p">;</span></span></code></pre>
</div>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</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/1277">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/d3821cc48455b008813a6691ef118da0/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/1277"}}</script>
</p>
</div>
</body>
</html>