@@ -395,7 +395,10 @@ object Utils {
395395 }
396396 return when (default) {
397397 // TODO: likely need to extend to other types
398- is List <* > -> getOrDefault(null , default as List <String >) as T
398+ is List <* > -> {
399+ getOrDefault(null , default as List <String >) as T
400+ }
401+
399402 else -> {
400403 // Recognize the default file location, and if found treat it as
401404 // a blank value
@@ -1101,17 +1104,29 @@ object Utils {
11011104 */
11021105 fun getBackingStore (directory : String = Paths .get(separator, "tmp").toString()): ObjectStorageSyncer =
11031106 when (val cloud = getEnvVar(" CLOUD_PROVIDER" , " local" )) {
1104- " aws" -> S3Sync (getEnvVar(" AWS_S3_BUCKET_NAME" ), getEnvVar(" AWS_S3_REGION" ), logger)
1105- " gcp" -> GCSSync (getEnvVar(" GCP_PROJECT_ID" ), getEnvVar(" GCP_STORAGE_BUCKET" ), logger, " " )
1106- " azure" -> ADLSSync (getEnvVar(" AZURE_STORAGE_ACCOUNT" ), getEnvVar(" AZURE_STORAGE_CONTAINER_NAME" ), logger, " " , " " , getEnvVar(" AZURE_STORAGE_ACCESS_KEY" ))
1107+ " aws" -> {
1108+ S3Sync (getEnvVar(" AWS_S3_BUCKET_NAME" ), getEnvVar(" AWS_S3_REGION" ), logger)
1109+ }
1110+
1111+ " gcp" -> {
1112+ GCSSync (getEnvVar(" GCP_PROJECT_ID" ), getEnvVar(" GCP_STORAGE_BUCKET" ), logger, " " )
1113+ }
1114+
1115+ " azure" -> {
1116+ ADLSSync (getEnvVar(" AZURE_STORAGE_ACCOUNT" ), getEnvVar(" AZURE_STORAGE_CONTAINER_NAME" ), logger, " " , " " , getEnvVar(" AZURE_STORAGE_ACCESS_KEY" ))
1117+ }
1118+
11071119 " local" -> {
11081120 if (getEnvVar(" AWS_S3_BUCKET_NAME" ).isNotBlank()) {
11091121 S3Sync (getEnvVar(" AWS_S3_BUCKET_NAME" ), getEnvVar(" AWS_S3_REGION" ), logger)
11101122 } else {
11111123 LocalSync (directory, logger)
11121124 }
11131125 }
1114- else -> throw IllegalStateException (" Unable to determine cloud provider: $cloud " )
1126+
1127+ else -> {
1128+ throw IllegalStateException (" Unable to determine cloud provider: $cloud " )
1129+ }
11151130 }
11161131
11171132 /* *
@@ -1196,12 +1211,17 @@ object Utils {
11961211 val base = basePath.toAbsolutePath().normalize()
11971212 val resolved = base.resolve(userProvided).normalize()
11981213 when {
1199- ! resolved.startsWith(base) ->
1214+ ! resolved.startsWith(base) -> {
12001215 throw IllegalArgumentException (" Path traversal attempt detected -- will not proceed due to security implications." )
1201- userProvided.contains(' \u0000 ' ) ->
1216+ }
1217+
1218+ userProvided.contains(' \u0000 ' ) -> {
12021219 throw IllegalArgumentException (" Null bytes in the path or filename are not allowed." )
1203- resolved.toAbsolutePath().toString().length > 800 ->
1220+ }
1221+
1222+ resolved.toAbsolutePath().toString().length > 800 -> {
12041223 throw IllegalArgumentException (" User-provided path and filename are too long (exceeds maximum length of 800 characters)." )
1224+ }
12051225 }
12061226 return resolved
12071227 }
0 commit comments