From e13d0bf65653550c4cfe3f879441139f5242d8b1 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 15 Oct 2013 22:40:17 +0200 Subject: [PATCH] Permission: use std::string for temporary password allocation As a side effect, this fixes a memory leak. --- src/Permission.cxx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Permission.cxx b/src/Permission.cxx index 258ace60a..f53465b83 100644 --- a/src/Permission.cxx +++ b/src/Permission.cxx @@ -75,7 +75,6 @@ static unsigned parsePermissions(const char *string) void initPermissions(void) { - char *password; unsigned permission; const struct config_param *param; @@ -97,12 +96,11 @@ void initPermissions(void) PERMISSION_PASSWORD_CHAR, param->value, param->line); - password = g_strndup(param->value, - separator - param->value); + std::string password((const char *)param->value, separator); permission = parsePermissions(separator + 1); - permission_passwords.insert(std::make_pair(password, + permission_passwords.insert(std::make_pair(std::move(password), permission)); } while ((param = config_get_next_param(CONF_PASSWORD, param))); }