aboutsummaryrefslogtreecommitdiffstats
path: root/poi
diff options
context:
space:
mode:
authorPJ Fanning <fanningpj@apache.org>2022-08-01 16:06:59 +0000
committerPJ Fanning <fanningpj@apache.org>2022-08-01 16:06:59 +0000
commit633baa45eb3cb314a7128ad4f010071fe1e4eb84 (patch)
tree40851c300ff210e5043630ddb11ccc36aaf1d62b /poi
parentf3a1d6ac92be74c9d79809a9bf478a9c6c3c08cb (diff)
downloadpoi-633baa45eb3cb314a7128ad4f010071fe1e4eb84.tar.gz
poi-633baa45eb3cb314a7128ad4f010071fe1e4eb84.zip
[bug-66181] fix issue with evaluation of blank string in VALUE function
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1903171 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'poi')
-rw-r--r--poi/src/main/java/org/apache/poi/ss/formula/functions/Value.java4
-rw-r--r--poi/src/test/java/org/apache/poi/ss/formula/functions/TestValue.java1
2 files changed, 5 insertions, 0 deletions
diff --git a/poi/src/main/java/org/apache/poi/ss/formula/functions/Value.java b/poi/src/main/java/org/apache/poi/ss/formula/functions/Value.java
index d2a1f24fc7..b3c6cb3c45 100644
--- a/poi/src/main/java/org/apache/poi/ss/formula/functions/Value.java
+++ b/poi/src/main/java/org/apache/poi/ss/formula/functions/Value.java
@@ -23,6 +23,7 @@ import org.apache.poi.ss.formula.eval.NumberEval;
import org.apache.poi.ss.formula.eval.OperandResolver;
import org.apache.poi.ss.formula.eval.ValueEval;
import org.apache.poi.ss.usermodel.DateUtil;
+import org.apache.poi.util.StringUtil;
import java.time.DateTimeException;
@@ -52,6 +53,9 @@ public final class Value extends Fixed1ArgFunction implements ArrayFunction {
return e.getErrorEval();
}
String strText = OperandResolver.coerceValueToString(veText);
+ if (StringUtil.isBlank(strText)) {
+ return ErrorEval.VALUE_INVALID;
+ }
Double result = convertTextToNumber(strText);
if (result == null) result = parseDateTime(strText);
if (result == null) {
diff --git a/poi/src/test/java/org/apache/poi/ss/formula/functions/TestValue.java b/poi/src/test/java/org/apache/poi/ss/formula/functions/TestValue.java
index 83bf4b6c13..03f8aab85a 100644
--- a/poi/src/test/java/org/apache/poi/ss/formula/functions/TestValue.java
+++ b/poi/src/test/java/org/apache/poi/ss/formula/functions/TestValue.java
@@ -93,5 +93,6 @@ final class TestValue {
confirmValueError(",300");
confirmValueError("0.233,4");
confirmValueError("1e2.5");
+ confirmValueError("");
}
}