Skip to content

Commit 015f134

Browse files
committed
[PLUGIN-1918] [PLUGIN-1907] [PLUGIN-1904] CVE Fix for commons-lang3, logback-classic and org.json
Upgrade commons-lang3 from v3.8.1 to v3.18.0, logback-classic from v1.2.8 to v1.2.13 and org.json from v20180813 to v20231013
1 parent bd42c1e commit 015f134

2 files changed

Lines changed: 11 additions & 3 deletions

File tree

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,15 @@
6565
<hadoop.version>2.10.2</hadoop.version>
6666
<spark2.version>2.1.3</spark2.version>
6767
<hydrator.version>2.10.0</hydrator.version>
68-
<commons.version>3.8.1</commons.version>
68+
<commons.version>3.18.0</commons.version>
6969
<salesforce.api.version>53.0.0</salesforce.api.version>
7070
<cometd.java.client.version>4.0.0</cometd.java.client.version>
7171
<antlr.version>4.7.2</antlr.version>
7272
<mockito.version>2.23.0</mockito.version>
7373
<commons.csv.version>1.6</commons.csv.version>
7474
<jackson.version>1.9.13</jackson.version>
7575
<jackson2.version>2.17.1</jackson2.version>
76-
<json.version>20180813</json.version>
76+
<json.version>20231013</json.version>
7777
<awaitility.version>3.1.6</awaitility.version>
7878
<commons-logging.version>1.2</commons-logging.version>
7979
<testSourceLocation>${project.basedir}/src/test/java/</testSourceLocation>
@@ -94,7 +94,7 @@
9494
<dependency>
9595
<groupId>ch.qos.logback</groupId>
9696
<artifactId>logback-classic</artifactId>
97-
<version>1.2.8</version>
97+
<version>1.2.13</version>
9898
</dependency>
9999
<dependency>
100100
<groupId>io.cdap.cdap</groupId>

src/main/java/io/cdap/plugin/salesforce/plugin/source/streaming/SalesforceStreamingSourceUtil.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.slf4j.LoggerFactory;
3434
import scala.reflect.ClassTag$;
3535

36+
import java.math.BigDecimal;
3637
import java.time.Instant;
3738
import java.time.LocalTime;
3839
import java.time.temporal.ChronoUnit;
@@ -147,6 +148,13 @@ private static Object convertValue(Object value, Schema.Field field) {
147148
}
148149
}
149150

151+
// NOTE: org.json >= 20230227 returns BigDecimal for all non-integer JSON numbers.
152+
if (value instanceof BigDecimal && fieldSchemaType.equals(Schema.Type.DOUBLE)) {
153+
// Avro Schema.Type.DOUBLE expects a Double instance (or primitive double) at serialization time,
154+
// so converting BigDecimal → double for compatibility.
155+
return ((BigDecimal) value).doubleValue();
156+
}
157+
150158
return value;
151159
}
152160

0 commit comments

Comments
 (0)