commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dilraj Singh (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CLI-283) Missing Null pointer checks in CommandLine.java
Date Sun, 25 Mar 2018 07:07:00 GMT
Dilraj Singh created CLI-283:
--------------------------------

             Summary: Missing Null pointer checks in CommandLine.java
                 Key: CLI-283
                 URL: https://issues.apache.org/jira/browse/CLI-283
             Project: Commons CLI
          Issue Type: Bug
          Components: CLI-2.x
    Affects Versions: 1.4
            Reporter: Dilraj Singh


- [CommandLine.java #L233 |https://github.com/apache/commons-cli/blob/b0024d482050a08efc36c3cabee37c0af0e57a10/src/main/java/org/apache/commons/cli/CommandLine.java#L233]
 Method call to `getValuesList()` returns the possible values of `Option` for which it is
called as List or returns `null`. In case it returns `null`, `addAll()` method call on type
`List` with `null` as an argument will lead to a NullPointerException. This can be prevented
by explicitly checking and handling the cases when it might return null. I have made changes
for the same

 - [CommandLine.java #L260 |https://github.com/apache/commons-cli/blob/b0024d482050a08efc36c3cabee37c0af0e57a10/src/main/java/org/apache/commons/cli/CommandLine.java#L260]
 As per the implementation of `stripLeadingHyphens(String)`, there exists cases when it might
return `null`. And calling `equals` method on a null return value ([#L263 |https://github.com/apache/commons-cli/blob/b0024d482050a08efc36c3cabee37c0af0e57a10/src/main/java/org/apache/commons/cli/CommandLine.java#L263])
will lead to null pointer exception. So as to prevent this I have made changes to explicitly
return null in case `stripLeadingHyphens` returns null

 - [CommandLine.java #L472 |https://github.com/apache/commons-cli/blob/b0024d482050a08efc36c3cabee37c0af0e57a10/src/main/java/org/apache/commons/cli/CommandLine.java#L472] 
 There is a possibility that `addOption` method is called with null as an argument. In that
case we will be adding null values to our list of processed options (as `List` does not thrown
any null pointer exception even if `add` method is called with null values). So as to prevent
this we need to make sure that value that we are adding to list of processed option is not
null.

I have created a pull request for addressing these issues, [see|https://github.com/apache/commons-cli/pull/24]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message