Hi all,
Our tool has found several potential NPE bugs.
-
In the statement filters.add(new ScopedFilter(context.getSet(setSpec).getCondition(), Scope.Set)); at line 168, context.getSet(setSpec) may return null according to its definition at line 110.
-
Similar to 1, statements String until = request.getString(Until); and String from = request.getString(From); may return null according to the definition of method getString at line 112. The usage of variables until and ```from`` is as follows (from lines 92 to 97):
String until = request.getString(Until);
String from = request.getString(From);
if (isTrueThat(until, is(not(nullValue())))
&& isTrueThat(from, is(not(nullValue())))
&& from.length() != until.length())
throw new BadArgumentException("Distinct granularities provided for until and from parameters");
- The method
formatForPrefix may return null. The following code in method createHeader may use the null because method canDisseminate :
MetadataFormat format = getContext().formatForPrefix(parameters
.getMetadataPrefix());
if (!itemIdentifier.isDeleted() && !canDisseminate(itemIdentifier, format))
throw new InternalOAIException("The item repository is currently providing items which cannot be disseminated with format "+format.getPrefix());
Note that method canDisseminate uses the argument format by return !format.hasCondition() || format.getCondition()...; at line 129
Thanks.
Hi all,
Our tool has found several potential NPE bugs.
In the statement
filters.add(new ScopedFilter(context.getSet(setSpec).getCondition(), Scope.Set));at line 168,context.getSet(setSpec)may return null according to its definition at line 110.Similar to 1, statements
String until = request.getString(Until);andString from = request.getString(From);may return null according to the definition of methodgetStringat line 112. The usage of variablesuntiland ```from`` is as follows (from lines 92 to 97):formatForPrefixmay return null. The following code in methodcreateHeadermay use the null because methodcanDisseminate:Note that method
canDisseminateuses the argumentformatbyreturn !format.hasCondition() || format.getCondition()...;at line 129Thanks.