Skip to content

Commit 82e393b

Browse files
committed
Fix RandomData generating bad values
1 parent 5f6bd88 commit 82e393b

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

Plan/common/src/main/java/com/djrapitops/plan/gathering/domain/FinishedSession.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ public boolean equals(Object o) {
187187
* @return Serialized format
188188
*/
189189
public String serializeCSV() {
190-
return String.valueOf(playerUUID) + ';' +
190+
return (String.valueOf(playerUUID) + ';' +
191191
serverUUID + ';' +
192192
start + ';' +
193193
end + ';' +
@@ -200,7 +200,8 @@ public String serializeCSV() {
200200
getExtraData(JoinAddress.class).map(JoinAddress::getAddress)
201201
.map(address -> address.replace(';', ':'))
202202
.orElse(JoinAddressTable.DEFAULT_VALUE_FOR_LOOKUP) + ';' +
203-
getExtraData(PlayerName.class).map(PlayerName::get).orElseGet(playerUUID::toString);
203+
getExtraData(PlayerName.class).map(PlayerName::get).orElseGet(playerUUID::toString))
204+
.replace('\\', '_'); // Untrusted data can contain escape characters that fail json serialization.
204205
}
205206

206207
public static class Id {

Plan/common/src/testFixtures/java/utilities/RandomData.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,9 @@ public static long randomLong(long rangeStart, long rangeEnd) {
6161

6262
public static String randomString(int size) {
6363
return new RandomStringGenerator.Builder().withinRange('A', 'z').get()
64-
.generate(size);
64+
.generate(size)
65+
.replace(';', '_')
66+
.replace('\\', '_');
6567
}
6668

6769
public static List<Nickname> randomNicknames(ServerUUID serverUUID) {

0 commit comments

Comments
 (0)