https://redmine.lighttpd.net/https://redmine.lighttpd.net/favicon.ico?13667327412013-11-18T15:16:37Zlighty labsLighttpd - Bug #2530: Parfait analysis errorshttps://redmine.lighttpd.net/issues/2530?journal_id=82372013-11-18T15:16:37Zkukackajiri
<ul><li><strong>File</strong> <a href="/attachments/1520">src_array.c.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1520/src_array.c.patch">src_array.c.patch</a> added</li><li><strong>File</strong> <a href="/attachments/1522">src_configfile.c.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1522/src_configfile.c.patch">src_configfile.c.patch</a> added</li><li><strong>File</strong> <a href="/attachments/1521">src_fdevent.c.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1521/src_fdevent.c.patch">src_fdevent.c.patch</a> added</li><li><strong>File</strong> <a href="/attachments/1523">src_lemon.c.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1523/src_lemon.c.patch">src_lemon.c.patch</a> added</li><li><strong>File</strong> <a href="/attachments/1524">src_lempar.c.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1524/src_lempar.c.patch">src_lempar.c.patch</a> added</li><li><strong>File</strong> <a href="/attachments/1525">src_mod_mysql_vhost.c.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1525/src_mod_mysql_vhost.c.patch">src_mod_mysql_vhost.c.patch</a> added</li><li><strong>File</strong> <a href="/attachments/1526">src_mod_webdav.c.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1526/src_mod_webdav.c.patch">src_mod_webdav.c.patch</a> added</li></ul><p>Update - I split patch file into smaller patches for easier comments. They are named by file they patch, as there is no dependency between them.</p> Lighttpd - Bug #2530: Parfait analysis errorshttps://redmine.lighttpd.net/issues/2530?journal_id=82392013-11-19T10:08:09Zstbuehler
<ul></ul><p>Splitting a patch into patch per file doesn't make review easier. If you wanted to split by something you could have grouped by severity, parfait annotations (which i won't apply), false positives, ...</p> Lighttpd - Bug #2530: Parfait analysis errorshttps://redmine.lighttpd.net/issues/2530?journal_id=82402013-11-19T11:08:47Zstbuehler
<ul></ul>I'll probably apply:
<ul>
<li>mod_webdav fd leak: this is a real one, although if opening the upload tmpfiles fails we are screwed anyway.</li>
<li>mod_mysql_vhost: leak on config init, looks like one buffer per block. also leaks in "non error" cases.</li>
</ul>
These won't get applied:
<ul>
<li>lemon.c: don't care, it's just the parser generator</li>
<li>fdevent.c: misses the error cases. already fixed in svn (found with clang analyzer)</li>
<li>array.c/array_replace: du is not allowed to be NULL (maybe add assert())</li>
<li>configfile.c array_insert_unique() call: if array_insert_unique fails here there are deeper problems.. the keys are supposed to be unique in that stage. (maybe add assert())</li>
<li>configfile.c modules/prepends NULL checks: i'd rather have a segfault if this happens (maybe add assert())</li>
<li>parfait annotations: as i already said, i'm not applying those</li>
</ul>
<p>The problem with assert() is that it could be optimized away, so we can't do anything "real" in the standard assert() (only boolean checks without side effects).</p> Lighttpd - Bug #2530: Parfait analysis errorshttps://redmine.lighttpd.net/issues/2530?journal_id=82412013-11-19T11:10:39Zstbuehler
<ul><li><strong>Target version</strong> set to <i>1.4.34</i></li></ul> Lighttpd - Bug #2530: Parfait analysis errorshttps://redmine.lighttpd.net/issues/2530?journal_id=82902013-12-09T17:55:19Zkukackajiri
<ul><li><strong>File</strong> <a href="/attachments/1542">09.parfait-community-requests.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1542/09.parfait-community-requests.patch">09.parfait-community-requests.patch</a> added</li><li><strong>Assignee</strong> set to <i>stbuehler</i></li></ul><p>I changed those patches: array.c, configfile.c to use assert as you asked, here it is.</p> Lighttpd - Bug #2530: Parfait analysis errorshttps://redmine.lighttpd.net/issues/2530?journal_id=82912013-12-09T17:58:34Zkukackajiri
<ul><li><strong>File</strong> <a href="/attachments/1543">09.parfait-community-requests.patch</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1543/09.parfait-community-requests.patch">09.parfait-community-requests.patch</a> added</li></ul><p>I'm sorry, wrong file - I accidentally uploaded my patch for patched version, here is correct one.</p> Lighttpd - Bug #2530: Parfait analysis errorshttps://redmine.lighttpd.net/issues/2530?journal_id=82962014-01-10T13:10:05Zstbuehler
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Fixed</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>100</i></li></ul><p>Applied in changeset r2930.</p>