summaryrefslogtreecommitdiff
path: root/src/libsystemd/sd-hwdb
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-01-21 10:13:07 +0100
committerLennart Poettering <lennart@poettering.net>2020-01-21 10:13:07 +0100
commit2aecc668878feebf8c88e2d38a657070a8ddb07a (patch)
treeb45ce0ffb852eb665cccbf58af1b72bf81076bb7 /src/libsystemd/sd-hwdb
parent2e5180d38b33710506ab76dcf93f802864b9ec0f (diff)
downloadsystemd-2aecc668878feebf8c88e2d38a657070a8ddb07a.tar.gz
hwdb: use strv_extend() where we can
Diffstat (limited to 'src/libsystemd/sd-hwdb')
-rw-r--r--src/libsystemd/sd-hwdb/hwdb-util.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/libsystemd/sd-hwdb/hwdb-util.c b/src/libsystemd/sd-hwdb/hwdb-util.c
index 1a2da9c79b..658fa5fbcf 100644
--- a/src/libsystemd/sd-hwdb/hwdb-util.c
+++ b/src/libsystemd/sd-hwdb/hwdb-util.c
@@ -477,7 +477,6 @@ static int import_file(struct trie *trie, const char *filename, uint16_t file_pr
_cleanup_fclose_ FILE *f = NULL;
_cleanup_strv_free_ char **match_list = NULL;
uint32_t line_number = 0;
- char *match = NULL;
int r = 0, err;
f = fopen(filename, "re");
@@ -527,11 +526,7 @@ static int import_file(struct trie *trie, const char *filename, uint16_t file_pr
/* start of record, first match */
state = HW_MATCH;
- match = strdup(line);
- if (!match)
- return -ENOMEM;
-
- err = strv_consume(&match_list, match);
+ err = strv_extend(&match_list, line);
if (err < 0)
return err;
@@ -549,11 +544,7 @@ static int import_file(struct trie *trie, const char *filename, uint16_t file_pr
if (line[0] != ' ') {
/* another match */
- match = strdup(line);
- if (!match)
- return -ENOMEM;
-
- err = strv_consume(&match_list, match);
+ err = strv_extend(&match_list, line);
if (err < 0)
return err;