From 7e8e6836e0ec3bac1c5b3e681f87363cd46aec2d Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 2 Jun 2021 09:33:35 +0200 Subject: [PATCH] keyfile: fix comparison in nms_keyfile_nmmeta_read() "uuid" is returned from nms_keyfile_nmmeta_check_filename(), and contains "$UUID.nmmeta". We must compare only the first "uuid_len" bytes. Fixes: 064544cc0787 ('settings: support storing "shadowed-storage" to .nmmeta files') --- src/core/settings/plugins/keyfile/nms-keyfile-utils.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/settings/plugins/keyfile/nms-keyfile-utils.c b/src/core/settings/plugins/keyfile/nms-keyfile-utils.c index affe1c3d2a..2391a9fd77 100644 --- a/src/core/settings/plugins/keyfile/nms-keyfile-utils.c +++ b/src/core/settings/plugins/keyfile/nms-keyfile-utils.c @@ -137,7 +137,11 @@ nms_keyfile_nmmeta_read(const char * dirname, NMMETA_KF_GROUP_NAME_NMMETA, NMMETA_KF_KEY_NAME_NMMETA_UUID, NULL); - if (!nm_streq0(v_uuid, uuid)) + if (!v_uuid) + return FALSE; + if (strncmp(v_uuid, uuid, uuid_len) != 0) + return FALSE; + if (v_uuid[uuid_len] != '\0') return FALSE; loaded_path = g_key_file_get_string(kf,