<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:13:34 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CDRIVER-1903] Bugs in _mongoc_gridfs_file_extend</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-1903</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;_mongoc_gridfs_file_extend has at least two clearly incorrect statements. First:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;      /* Set bytes until we reach the limit or fill a page */&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;      file-&amp;gt;pos += _mongoc_gridfs_file_page_memset0 (file-&amp;gt;page,&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;                                                     target_length - file-&amp;gt;pos);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;This is wrong because the return type of _mongoc_gridfs_file_page_memset0 is bool, and it is being added to a uint64_t. (Introduced in &lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/e2c174ec427350d4440b9baa0fa3a4d66f72fb30&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;e2c174&lt;/a&gt;.) Second:&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;   BSON_ASSERT (file-&amp;gt;length = target_length);&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;
&lt;p&gt;This appears wrong because it is an assignment in an assert (&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1896&quot; title=&quot;Coverity analysis defect 76624: Side effect in assertion&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1896&quot;&gt;&lt;del&gt;CDRIVER-1896&lt;/del&gt;&lt;/a&gt;), but it is &lt;b&gt;not&lt;/b&gt; compiled out in a release build any more (&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-697&quot; title=&quot;Turn on basic err checking in release build&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-697&quot;&gt;&lt;del&gt;CDRIVER-697&lt;/del&gt;&lt;/a&gt;). The intention is mysterious.&lt;/p&gt;</description>
                <environment></environment>
        <key id="328981">CDRIVER-1903</key>
            <summary>Bugs in _mongoc_gridfs_file_extend</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="jesse@mongodb.com">A. Jesse Jiryu Davis</reporter>
                        <labels>
                    </labels>
                <created>Thu, 3 Nov 2016 03:03:00 +0000</created>
                <updated>Mon, 14 Nov 2016 21:59:43 +0000</updated>
                            <resolved>Mon, 14 Nov 2016 21:59:42 +0000</resolved>
                                    <version>1.3.0</version>
                                    <fixVersion>1.5.0</fixVersion>
                                    <component>GridFS</component>
                    <component>libmongoc</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="1432890" author="xgen-internal-githook" created="Mon, 14 Nov 2016 00:03:45 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1903&quot; title=&quot;Bugs in _mongoc_gridfs_file_extend&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1903&quot;&gt;&lt;del&gt;CDRIVER-1903&lt;/del&gt;&lt;/a&gt; truly fix gridfs write test in MSVC&lt;/p&gt;

&lt;p&gt;I had not known that _vsnprintf_s in debug mode fills the buffer out to&lt;br/&gt;
&quot;len&quot; with 0xFE.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/57899f0ac172bffaef77720cb7bd5884d60babc6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/57899f0ac172bffaef77720cb7bd5884d60babc6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1432674" author="jesse" created="Sat, 12 Nov 2016 20:49:19 +0000"  >&lt;p&gt;My new test is failing on Windows.&lt;/p&gt;</comment>
                            <comment id="1432672" author="xgen-internal-githook" created="Sat, 12 Nov 2016 20:48:55 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1903&quot; title=&quot;Bugs in _mongoc_gridfs_file_extend&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1903&quot;&gt;&lt;del&gt;CDRIVER-1903&lt;/del&gt;&lt;/a&gt; disable gridfs write test in MSVC&lt;/p&gt;

&lt;p&gt;Until I can diagnose the issue.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/883cc25eae75f9bea67d24ad4689a9a70103a04c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/883cc25eae75f9bea67d24ad4689a9a70103a04c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1432656" author="xgen-internal-githook" created="Sat, 12 Nov 2016 19:32:23 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1903&quot; title=&quot;Bugs in _mongoc_gridfs_file_extend&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1903&quot;&gt;&lt;del&gt;CDRIVER-1903&lt;/del&gt;&lt;/a&gt; fix gridfs-write test in MSVC&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/bcc962e91f4414b6a3f24d2bdb6d08ad5d7fab29&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/bcc962e91f4414b6a3f24d2bdb6d08ad5d7fab29&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1432489" author="xgen-internal-githook" created="Fri, 11 Nov 2016 22:38:21 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1903&quot; title=&quot;Bugs in _mongoc_gridfs_file_extend&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1903&quot;&gt;&lt;del&gt;CDRIVER-1903&lt;/del&gt;&lt;/a&gt; fix gridfs-write test&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/72351e9926001a03b51143648746598ec53163cb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/72351e9926001a03b51143648746598ec53163cb&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1428783" author="xgen-internal-githook" created="Tue, 8 Nov 2016 01:01:13 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-1903&quot; title=&quot;Bugs in _mongoc_gridfs_file_extend&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-1903&quot;&gt;&lt;del&gt;CDRIVER-1903&lt;/del&gt;&lt;/a&gt; bugs in _mongoc_gridfs_file_extend&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/5aecadcaf701e64c6a3aaae09255d36dbf50229d&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/5aecadcaf701e64c6a3aaae09255d36dbf50229d&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1427412" author="jesse" created="Sun, 6 Nov 2016 16:14:20 +0000"  >&lt;p&gt;The &lt;tt&gt;file-&amp;gt;pos += bool&lt;/tt&gt; statement is a quadratic performance bug: it zeroes the bytes from &quot;pos&quot; to &quot;target_length&quot;, advances &quot;pos&quot; by one byte, and zeroes the bytes from &quot;pos&quot; to &quot;target_length&quot; again, until &quot;pos&quot; equals &quot;target_length&quot;. The solution is to advance &quot;pos&quot; by the actual number of bytes that were zeroed.&lt;/p&gt;

&lt;p&gt;The assignment in the assert is just a wart: we &lt;b&gt;do&lt;/b&gt; want to set &quot;length&quot; to &quot;target_length&quot;, and since the statement is always executed, even in a release build, the logic is correct. The assert never fires since _mongoc_gridfs_file_extend is never called with a zero-length file. The solution is to remove the assert and leave the assignment in place.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="328872">CDRIVER-1896</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsri7z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>