Skip to content

Commit 0bfb30c

Browse files
authored
Merge pull request #330 from cloudsufi/cherry-pick/moss-fixes
[PLUGIN-1918] [PLUGIN-1904] [PLUGIN-1907] Fix: Vulnerability issues due to commons-lang3, org.json and logback-classic
2 parents bd42c1e + 015f134 commit 0bfb30c

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

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)