Skip to content

Commit c90c336

Browse files
authored
Merge branch 'master' into log4j-broken
2 parents 9a1b21a + e0faade commit c90c336

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

java/src/main/java/com/genexus/PrivateUtilities.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ public static String getTempFileName(String extension)
239239
String fileName;
240240
do
241241
{
242-
fileName = ((int) (random.nextDouble() * 10000000)) + extension;
242+
fileName = java.util.UUID.randomUUID().toString() + extension;
243243
}
244244
while (new File(fileName).exists());
245245

@@ -264,19 +264,24 @@ public static String getTempFileName(String baseDir, String name, String extensi
264264
}
265265

266266
public static String checkFileNameLength(String baseDir, String fileName, String extension )
267-
{
268-
if (org.apache.commons.lang.SystemUtils.IS_OS_WINDOWS)
267+
{
268+
int pathLength;
269+
int fileNameLength = fileName.length();
270+
int extensionLength = extension.length();
271+
if (org.apache.commons.lang.SystemUtils.IS_OS_WINDOWS)
269272
{
270-
int pathLength = baseDir.length() + fileName.length() + extension.length();
271-
if (pathLength > 250)
273+
pathLength = baseDir.length() + fileNameLength + extensionLength;
274+
if (pathLength > 260)
272275
{
273-
fileName = fileName.substring(0, (fileName.length() - (pathLength - 250) ));
276+
fileName = fileName.substring(fileNameLength + baseDir.length() - 260 + extensionLength, fileNameLength);
274277
}
275278
}
276279
else
277-
{
278-
if (fileName.length() > 150)
279-
fileName = fileName.substring(0, 150);
280+
{
281+
pathLength = fileNameLength + extensionLength;
282+
if (pathLength > 255) {
283+
fileName = fileName.substring(fileNameLength - 255 + extensionLength, fileNameLength);
284+
}
280285
}
281286
return fileName;
282287
}

0 commit comments

Comments
 (0)