summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Winship <danw@redhat.com>2015-01-09 11:56:39 -0500
committerDan Winship <danw@redhat.com>2015-01-09 11:56:39 -0500
commitd746103d750e373414bf7257392b93185be870c6 (patch)
treec22b914c169cd850e4963ffb7dc5304713a26eee
parent20a56fa9a25cc95099c64a550e24dd9f3496c214 (diff)
downloadNetworkManager-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.c5
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;
}