From 6961e9b71f8e773306693f73a5029242da2ac56d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Wed, 5 Mar 2014 13:59:17 +0100 Subject: cli: sanitize team config before setting it into property Replace '\r' and '\n' chareacter with a space in the configuration. libteamdctl sends the config to team daemon using its usock interface that separates parameters with '\n'. Related: rh #1051517 --- cli/src/common.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/cli/src/common.c b/cli/src/common.c index 6f6d0c0838..2dd59bdbcb 100644 --- a/cli/src/common.c +++ b/cli/src/common.c @@ -907,6 +907,17 @@ nmc_bond_validate_mode (const char *mode, GError **error) return nmc_string_is_valid (mode, valid_modes, error); } +/* + * nmc_team_check_config: + * @config: file name with team config, or raw team JSON config data + * @out_config: raw team JSON config data (with removed new-line characters) + * @error: location to store error, or %NUL + * + * Check team config from @config parameter and return the checked/sanitized + * config in @out_config. + * + * Returns: %TRUE if the config is valid, %FALSE if it is invalid + */ gboolean nmc_team_check_config (const char *config, char **out_config, GError **error) { @@ -936,7 +947,7 @@ nmc_team_check_config (const char *config, char **out_config, GError **error) g_free (contents); return FALSE; } - *out_config = contents; + *out_config = g_strdelimit (contents, "\r\n", ' '); return TRUE; } -- cgit v1.2.1