summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibCore
diff options
context:
space:
mode:
authorMaciej <sppmacd@pm.me>2021-12-29 15:38:05 +0100
committerAndreas Kling <kling@serenityos.org>2022-01-21 13:44:36 +0100
commit0badfd7b3239b9ffac0e910a0d463ae6c9f9bd80 (patch)
tree137eab26f4c30760b2250d3a49b7350900ab9b7b /Userland/Libraries/LibCore
parentf71584b917651f8068a1d36d92ee4a8595d2b6dd (diff)
downloadserenity-0badfd7b3239b9ffac0e910a0d463ae6c9f9bd80.zip
LibCore: Handle null lines in ConfigFile
Fixes nullptr dereference when trying to read binary files.
Diffstat (limited to 'Userland/Libraries/LibCore')
-rw-r--r--Userland/Libraries/LibCore/ConfigFile.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/Userland/Libraries/LibCore/ConfigFile.cpp b/Userland/Libraries/LibCore/ConfigFile.cpp
index aed8a1e715..e4f3e5cab8 100644
--- a/Userland/Libraries/LibCore/ConfigFile.cpp
+++ b/Userland/Libraries/LibCore/ConfigFile.cpp
@@ -76,6 +76,12 @@ void ConfigFile::reparse()
while (m_file->can_read_line()) {
auto line = m_file->read_line();
+
+ if (line.is_null()) {
+ m_groups.clear();
+ return;
+ }
+
auto* cp = line.characters();
while (*cp && (*cp == ' ' || *cp == '\t' || *cp == '\n'))