This is an automated email from the ASF dual-hosted git repository.
jleroux pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git
The following commit(s) were added to refs/heads/trunk by this push:
new 699c30e Improved: Fix some bugs Spotbugs reports (OFBIZ-12386)
699c30e is described below
commit 699c30ed85fabaad960a09f08113a224f644c0b9
Author: Jacques Le Roux <[email protected]>
AuthorDate: Tue Nov 30 19:03:24 2021 +0100
Improved: Fix some bugs Spotbugs reports (OFBIZ-12386)
Fixes possible null dereferencings
For FormRenderer.java it was accidentally removed for OFBIZ-12422
---
.../apache/ofbiz/content/data/DataResourceWorker.java | 9 +++++++--
.../main/java/org/apache/ofbiz/base/util/UtilMisc.java | 3 ++-
.../org/apache/ofbiz/minilang/SimpleServiceEngine.java | 17 ++++++++++-------
.../org/apache/ofbiz/widget/renderer/FormRenderer.java | 4 ++--
4 files changed, 21 insertions(+), 12 deletions(-)
diff --git
a/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java
b/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java
index 528b1b7..b3221af 100644
---
a/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java
+++
b/applications/content/src/main/java/org/apache/ofbiz/content/data/DataResourceWorker.java
@@ -821,8 +821,13 @@ public class DataResourceWorker implements
org.apache.ofbiz.widget.content.DataR
}
String formrenderer =
modelTheme.getFormRendererLocation("screen");
MacroFormRenderer renderer = new
MacroFormRenderer(formrenderer, request, response);
- FormRenderer formRenderer = new FormRenderer(modelForm,
renderer);
- formRenderer.render(out, context);
+ FormRenderer formRenderer = null;
+ if (modelForm != null) {
+ formRenderer = new FormRenderer(modelForm, renderer);
+ formRenderer.render(out, context);
+ } else {
+ throw new GeneralException("Error rendering Screen
template");
+ }
} catch (TemplateException e) {
throw new GeneralException("Error creating Screen
renderer", e);
} catch (Exception e) {
diff --git
a/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilMisc.java
b/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilMisc.java
index 5c724f9..878f222 100644
--- a/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilMisc.java
+++ b/framework/base/src/main/java/org/apache/ofbiz/base/util/UtilMisc.java
@@ -611,8 +611,9 @@ public final class UtilMisc {
List<String> hostHeadersAllowed = null;
if (UtilValidate.isNotEmpty(hostHeadersAllowedString)) {
hostHeadersAllowed = StringUtil.split(hostHeadersAllowedString,
",");
+ hostHeadersAllowed =
Collections.unmodifiableList(hostHeadersAllowed);
}
- return Collections.unmodifiableList(hostHeadersAllowed);
+ return hostHeadersAllowed;
}
/**
diff --git
a/framework/minilang/src/main/java/org/apache/ofbiz/minilang/SimpleServiceEngine.java
b/framework/minilang/src/main/java/org/apache/ofbiz/minilang/SimpleServiceEngine.java
index d597cdf..b82cad9 100644
---
a/framework/minilang/src/main/java/org/apache/ofbiz/minilang/SimpleServiceEngine.java
+++
b/framework/minilang/src/main/java/org/apache/ofbiz/minilang/SimpleServiceEngine.java
@@ -74,14 +74,17 @@ public final class SimpleServiceEngine extends
GenericAsyncEngine {
ClassLoader classLoader = null;
if (dctx != null) {
classLoader = dctx.getClassLoader();
- }
- // if the classLoader is null, no big deal, SimpleMethod will use the
- // current thread's ClassLoader by default if null passed in
- try {
- return
SimpleMethod.runSimpleService(this.getLocation(modelService),
modelService.getInvoke(), dctx, context, classLoader);
- } catch (MiniLangException e) {
+ // if the classLoader is null, no big deal, SimpleMethod will use
the
+ // current thread's ClassLoader by default if null passed in
+ try {
+ return
SimpleMethod.runSimpleService(this.getLocation(modelService),
modelService.getInvoke(), dctx, context, classLoader);
+ } catch (MiniLangException e) {
+ throw new GenericServiceException("Error running simple method
[" + modelService.getInvoke() + "] in XML file ["
+ + modelService.getLocation() + "]: ", e);
+ }
+ } else {
throw new GenericServiceException("Error running simple method ["
+ modelService.getInvoke() + "] in XML file ["
- + modelService.getLocation() + "]: ", e);
+ + modelService.getLocation() + "]");
}
}
}
diff --git
a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/FormRenderer.java
b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/FormRenderer.java
index 7d68b34..eef4a91 100644
---
a/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/FormRenderer.java
+++
b/framework/widget/src/main/java/org/apache/ofbiz/widget/renderer/FormRenderer.java
@@ -1232,7 +1232,7 @@ public class FormRenderer {
}
int itemIndex = -1;
if (iter instanceof EntityListIterator) {
- EntityListIterator eli = (EntityListIterator) iter;
+ EntityListIterator eli = (EntityListIterator) iter; // INFO
Spotbugs reports here "'eli' is never closed" but that's on purpose
try {
if (eli.getResultsSizeAfterPartialList() > 0) {
itemIndex++;
@@ -1240,7 +1240,7 @@ public class FormRenderer {
} catch (GenericEntityException gee) {
Debug.logError(gee, MODULE);
}
- } else {
+ } else if (iter != null) {
while (iter.hasNext()) {
itemIndex++;
break;