diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedPropertiesLoader.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedPropertiesLoader.java index 96ee296bfb9e..a12a0eaab635 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedPropertiesLoader.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/env/OriginTrackedPropertiesLoader.java @@ -168,8 +168,10 @@ boolean isNewDocument(CharacterReader reader) throws IOException { result = result && readAndExpect(reader, reader::isHyphenCharacter); result = result && readAndExpect(reader, reader::isHyphenCharacter); result = result && readAndExpect(reader, reader::isHyphenCharacter); - reader.read(); - reader.skipWhitespace(); + if (!reader.isEndOfLine()) { + reader.read(); + reader.skipWhitespace(); + } return result && reader.isEndOfLine(); } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedPropertiesLoaderTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedPropertiesLoaderTests.java index 971c425bfa6e..16a6c8bca923 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedPropertiesLoaderTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/env/OriginTrackedPropertiesLoaderTests.java @@ -293,6 +293,12 @@ void existingCommentsAreNotTreatedAsMultiDoc() throws Exception { assertThat(this.documents.size()).isEqualTo(1); } + @Test + void getPropertyAfterPoundCharacter() { + OriginTrackedValue value = getFromFirst("test-line-after-empty-pound"); + assertThat(getValue(value)).isEqualTo("abc"); + } + private OriginTrackedValue getFromFirst(String key) { return this.documents.get(0).asMap().get(key); } diff --git a/spring-boot-project/spring-boot/src/test/resources/org/springframework/boot/env/test-properties.properties b/spring-boot-project/spring-boot/src/test/resources/org/springframework/boot/env/test-properties.properties index db81b6c3d731..4dba64e2705b 100644 --- a/spring-boot-project/spring-boot/src/test/resources/org/springframework/boot/env/test-properties.properties +++ b/spring-boot-project/spring-boot/src/test/resources/org/springframework/boot/env/test-properties.properties @@ -43,3 +43,6 @@ test-iso8859-1-chars= test-with-trailing-space= trailing test-with-escaped-trailing-space= trailing\ + +# +test-line-after-empty-pound=abc \ No newline at end of file