SpotBugs Bug Detector Report
The following document contains the results of SpotBugs
SpotBugs Version is 4.9.8
Threshold is medium
Effort is default
Summary
| Classes |
Bugs |
Errors |
Missing Classes |
| 69 |
15 |
0 |
0 |
org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider
| Bug |
Category |
Details |
Line |
Priority |
| Inconsistent synchronization of org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider.throwNoContentExceptionOnEmptyStreams; locked 80% of time |
MT_CORRECTNESS |
IS2_INCONSISTENT_SYNC |
92 |
Medium |
org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider$1
| Bug |
Category |
Details |
Line |
Priority |
| Exception thrown in class org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider$1 at new org.apache.johnzon.jaxrs.jsonb.jaxrs.JsonbJaxrsProvider$1(JsonbJaxrsProvider, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. |
BAD_PRACTICE |
CT_CONSTRUCTOR_THROW |
111 |
Medium |
org.apache.johnzon.jsonb.JohnzonBuilder
| Bug |
Category |
Details |
Line |
Priority |
| Boxed value is unboxed and then immediately reboxed in org.apache.johnzon.jsonb.JohnzonBuilder.lambda$build$5(Object) |
PERFORMANCE |
BX_UNBOXING_IMMEDIATELY_REBOXED |
147 |
Medium |
| Boxed value is unboxed and then immediately reboxed in org.apache.johnzon.jsonb.JohnzonBuilder.toBool(Object) |
PERFORMANCE |
BX_UNBOXING_IMMEDIATELY_REBOXED |
377 |
Medium |
| Boxed value is unboxed and then immediately reboxed in org.apache.johnzon.jsonb.JohnzonBuilder.toInt(Object) |
PERFORMANCE |
BX_UNBOXING_IMMEDIATELY_REBOXED |
381 |
Medium |
org.apache.johnzon.jsonb.JohnzonJsonb
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.johnzon.jsonb.JohnzonJsonb(Mapper, boolean, Consumer) may expose internal representation by storing an externally mutable object into JohnzonJsonb.delegate |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
67 |
Medium |
org.apache.johnzon.jsonb.JsonbAccessMode
| Bug |
Category |
Details |
Line |
Priority |
| new org.apache.johnzon.jsonb.JsonbAccessMode(PropertyNamingStrategy, String, PropertyVisibilityStrategy, boolean, Map, JohnzonAdapterFactory, JsonProvider, Supplier, Supplier, AccessMode, boolean, boolean, boolean) may expose internal representation by storing an externally mutable object into JsonbAccessMode.defaultConverters |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
177 |
Medium |
| Class<?> is incompatible with expected argument type org.apache.johnzon.mapper.internal.AdapterKey in org.apache.johnzon.jsonb.JsonbAccessMode.findFactory(Class, Function[]) |
CORRECTNESS |
GC_UNRELATED_TYPES |
269 |
High |
org.apache.johnzon.jsonb.JsonbAccessMode$2
| Bug |
Category |
Details |
Line |
Priority |
| Return value of putIfAbsent is ignored, but fn is reused in org.apache.johnzon.jsonb.JsonbAccessMode$2.fromJson(JsonValue, Type, MappingParser) |
MT_CORRECTNESS |
RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED |
326 |
High |
org.apache.johnzon.jsonb.JsonbAccessMode$ReaderConverters
| Bug |
Category |
Details |
Line |
Priority |
| Exception thrown in class org.apache.johnzon.jsonb.JsonbAccessMode$ReaderConverters at new org.apache.johnzon.jsonb.JsonbAccessMode$ReaderConverters(JsonbAccessMode, AccessMode$DecoratedType) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. |
BAD_PRACTICE |
CT_CONSTRUCTOR_THROW |
1166 |
Medium |
org.apache.johnzon.jsonb.JsonbAccessMode$ReaderConverters$1
| Bug |
Category |
Details |
Line |
Priority |
| Return value of putIfAbsent is ignored, but fn is reused in org.apache.johnzon.jsonb.JsonbAccessMode$ReaderConverters$1.fromJson(JsonValue, Type, MappingParser) |
MT_CORRECTNESS |
RV_RETURN_VALUE_OF_PUTIFABSENT_IGNORED |
1144 |
High |
org.apache.johnzon.jsonb.JsonbAccessMode$WriterConverters
| Bug |
Category |
Details |
Line |
Priority |
| Exception thrown in class org.apache.johnzon.jsonb.JsonbAccessMode$WriterConverters at new org.apache.johnzon.jsonb.JsonbAccessMode$WriterConverters(JsonbAccessMode, AccessMode$DecoratedType, Types) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. |
BAD_PRACTICE |
CT_CONSTRUCTOR_THROW |
1225 |
Medium |
org.apache.johnzon.jsonb.factory.SimpleJohnzonAdapterFactory
| Bug |
Category |
Details |
Line |
Priority |
| Public method org.apache.johnzon.jsonb.factory.SimpleJohnzonAdapterFactory.create(Class) uses reflection to create a class it gets in its parameter which could increase the accessibility of any class |
MALICIOUS_CODE |
REFLC_REFLECTION_MAY_INCREASE_ACCESSIBILITY_OF_CLASS |
27 |
Medium |
org.apache.johnzon.jsonb.polymorphism.JsonbPolymorphismTypeInfo
| Bug |
Category |
Details |
Line |
Priority |
| org.apache.johnzon.jsonb.polymorphism.JsonbPolymorphismTypeInfo.getAliases() may expose internal representation by returning JsonbPolymorphismTypeInfo.aliases |
MALICIOUS_CODE |
EI_EXPOSE_REP |
64 |
Medium |
| org.apache.johnzon.jsonb.polymorphism.JsonbPolymorphismTypeInfo.getParents() may expose internal representation by returning JsonbPolymorphismTypeInfo.parents |
MALICIOUS_CODE |
EI_EXPOSE_REP |
72 |
Medium |