[ https://issues.apache.org/jira/browse/ACCUMULO-1958?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13846410#comment-13846410 ] ASF subversion and git services commented on ACCUMULO-1958: ----------------------------------------------------------- Commit cc68925ec08cb0ff14f30118526fb486449baf84 in branch refs/heads/1.4.5-SNAPSHOT from [~bhavanki] [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=cc68925 ] ACCUMULO-1958 Make Range constructor safe The public six-argument Range constructor lacked a check for the stop key being before the start key. This change adds the check, plus a similar, new protected constructor without the check for use by constructors which do not need it. Checks are also included for construction from Thrift and population via readFields. Signed-off-by: Eric Newton > Range constructor lacks key checks, should be non-public > -------------------------------------------------------- > > Key: ACCUMULO-1958 > URL: https://issues.apache.org/jira/browse/ACCUMULO-1958 > Project: Accumulo > Issue Type: Bug > Affects Versions: 1.4.0 > Reporter: Bill Havanki > Assignee: Bill Havanki > Fix For: 1.4.5, 1.5.1, 1.6.0 > > Attachments: ACCUMULO-1958.patch > > > This ticket pertains to the Range class constructor with the following signature: > {noformat} > public Range(Key, Key, boolean, boolean, boolean, boolean) > {noformat} > The constructor does not check that the start key is before the end key, like every other constructor in the class. Since the constructor is public, this makes it possible for a caller to create invalid ranges. > The constructor is used by other constructors that take in existing range objects, where the key check has implicitly been done, and so it would make sense to skip the check in this one, but then the constructor visibility should be at least protected. -- This message was sent by Atlassian JIRA (v6.1.4#6159)