diff options
author | Dan Winship <danw@redhat.com> | 2015-01-09 11:56:39 -0500 |
---|---|---|
committer | Dan Winship <danw@redhat.com> | 2015-01-09 11:56:39 -0500 |
commit | d746103d750e373414bf7257392b93185be870c6 (patch) | |
tree | c22b914c169cd850e4963ffb7dc5304713a26eee | |
parent | 20a56fa9a25cc95099c64a550e24dd9f3496c214 (diff) | |
download | NetworkManager-d746103d750e373414bf7257392b93185be870c6.tar.gz |
keyfile: fix an uninitialized variable
read_field() was supposed to set *error to NULL if there was no error,
but it missed one case. (If **current was '\0'.)
-rw-r--r-- | src/settings/plugins/keyfile/reader.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/settings/plugins/keyfile/reader.c b/src/settings/plugins/keyfile/reader.c index 1d2ecdad9b..1575f01727 100644 --- a/src/settings/plugins/keyfile/reader.c +++ b/src/settings/plugins/keyfile/reader.c @@ -205,9 +205,10 @@ read_field (char **current, char **error, const char *characters, const char *de g_return_val_if_fail (characters, NULL); g_return_val_if_fail (delimiters, NULL); + *error = NULL; + if (!*current) { /* graceful failure, leave '*current' NULL */ - *error = NULL; return NULL; } @@ -223,7 +224,6 @@ read_field (char **current, char **error, const char *characters, const char *de if (**current) if (strchr (delimiters, **current)) { /* success, more data available */ - *error = NULL; *(*current)++ = '\0'; return start; } else { @@ -234,7 +234,6 @@ read_field (char **current, char **error, const char *characters, const char *de } else { /* success, end of input */ - *error = NULL; *current = NULL; return start; } |