From 740153b5aa74d960116f28be9c755e3b7debd2a2 Mon Sep 17 00:00:00 2001 From: Mohammed Ammer Date: Mon, 24 Feb 2020 15:20:10 +0100 Subject: [PATCH] Add check if the file extension is null before calling the to toLowerCase() - Fixes gh-20302 --- .../cloud/config/server/resource/ResourceController.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java index d228bf440..467f2d26a 100644 --- a/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java +++ b/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java @@ -145,14 +145,16 @@ synchronized String retrieve(ServletWebRequest request, String name, String prof // ensure InputStream will be closed to prevent file locks on Windows try (InputStream is = resource.getInputStream()) { String text = StreamUtils.copyToString(is, Charset.forName("UTF-8")); - String ext = StringUtils.getFilenameExtension(resource.getFilename()) - .toLowerCase(); + String ext = StringUtils.getFilenameExtension(resource.getFilename()); + if (ext != null) { + ext = ext.toLowerCase(); + } Environment environment = this.environmentRepository.findOne(name, profile, label, false); if (resolvePlaceholders) { text = resolvePlaceholders(prepareEnvironment(environment), text); } - if (encryptEnabled && plainTextEncryptEnabled) { + if (ext != null && encryptEnabled && plainTextEncryptEnabled) { ResourceEncryptor re = this.resourceEncryptorMap.get(ext); if (re == null) { logger.warn("Cannot decrypt for extension " + ext);