Issue 7955 - [LMDB] remove logically dead code
Summary: [LMDB] remove logically dead code
Status: VERIFIED FIXED
Alias: None
Product: LMDB
Classification: Unclassified
Component: liblmdb (show other issues)
Version: unspecified
Hardware: All All
: --- normal
Target Milestone: ---
Assignee: OpenLDAP project
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-02 20:43 UTC by jcd@tribudubois.net
Modified: 2020-03-12 15:54 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description jcd@tribudubois.net 2014-10-02 20:43:32 UTC
Full_Name: Jean-Christophe Dubois
Version: 2.4.40
OS: Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (78.235.240.156)


In mdb_cursor_prev() there is some dead code as the (op == MDB_PREV_DUP) cannot
be reached in the else block of the following if condition:

if (op == MDB_PREV || op == MDB_PREV_DUP) {
   ...
} else {
   ...
   if (op == MDB_PREV_DUP)
      ...
}

The dead code can be removed.

Patch available at the following URL:

https://github.com/jcdubois/lmdb/commit/87c58701f7b7226d6d7bcf6be18db085cce0c592

JC
Comment 1 Howard Chu 2014-10-02 20:59:00 UTC
jcd@tribudubois.net wrote:
> Full_Name: Jean-Christophe Dubois
> Version: 2.4.40
> OS: Linux
> URL: ftp://ftp.openldap.org/incoming/
> Submission from: (NULL) (78.235.240.156)
>
>
> In mdb_cursor_prev() there is some dead code as the (op == MDB_PREV_DUP) cannot
> be reached in the else block of the following if condition:

Apparently caused by commit 6423c877 for ITS#7671. Unfortunately you've 
identified an actual bug, the current code will fail to return NOTFOUND when 
it should. I.e., if the caller used MDB_PREV_DUP and the current node has no 
DUPDATA.

Fixed in mdb.master.
>
> if (op == MDB_PREV || op == MDB_PREV_DUP) {
>     ...
> } else {
>     ...
>     if (op == MDB_PREV_DUP)
>        ...
> }
>
> The dead code can be removed.
>
> Patch available at the following URL:
>
> https://github.com/jcdubois/lmdb/commit/87c58701f7b7226d6d7bcf6be18db085cce0c592
>
> JC
>
>
>


-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/

Comment 2 OpenLDAP project 2014-10-02 21:16:25 UTC
fixed in mdb.master
Comment 3 Howard Chu 2014-10-02 21:16:25 UTC
changed notes
changed state Open to Test
moved from Incoming to Software Bugs
Comment 4 Quanah Gibson-Mount 2014-12-11 01:05:33 UTC
changed state Test to Release
Comment 5 Quanah Gibson-Mount 2015-07-02 17:45:03 UTC
changed state Release to Closed