From de327eccbb063c2321a40e167ad5c5b54ce2c227 Mon Sep 17 00:00:00 2001 From: Steve Dougherty Date: Tue, 10 Nov 2015 19:41:10 -0500 Subject: OpenZFS 6447 - handful of nvpair cleanups Authored by: Steve Dougherty Reviewed by: Josef 'Jeff' Sipek Reviewed by: Andy Stormont Reviewed by: Garrett D'Amore Approved by: Robert Mustacchi Reviewed-by: Don Brady Reviewed-by: George Melikov Reviewed-by: Brian Behlendorf Ported-by: Giuseppe Di Natale OpenZFS-issue: https://www.illumos.org/issues/6447 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/759e89b Closes #6581 --- lib/libnvpair/libnvpair.c | 8 +++++--- module/nvpair/nvpair.c | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/libnvpair/libnvpair.c b/lib/libnvpair/libnvpair.c index 7e24dd844..0cf38c950 100644 --- a/lib/libnvpair/libnvpair.c +++ b/lib/libnvpair/libnvpair.c @@ -24,7 +24,7 @@ */ #include -#include +#include #include #include #include @@ -1219,7 +1219,8 @@ nvpair_value_match_regex(nvpair_t *nvp, int ai, break; } case DATA_TYPE_BOOLEAN_VALUE: { - boolean_t val, val_arg; + int32_t val_arg; + boolean_t val; /* scanf boolean_t from value and check for match */ sr = sscanf(value, "%"SCNi32, (int32_t *)&val_arg); @@ -1230,7 +1231,8 @@ nvpair_value_match_regex(nvpair_t *nvp, int ai, break; } case DATA_TYPE_BOOLEAN_ARRAY: { - boolean_t *val_array, val_arg; + boolean_t *val_array; + int32_t val_arg; /* check indexed value of array for match */ sr = sscanf(value, "%"SCNi32, (int32_t *)&val_arg); diff --git a/module/nvpair/nvpair.c b/module/nvpair/nvpair.c index 24ef61e93..c0155f729 100644 --- a/module/nvpair/nvpair.c +++ b/module/nvpair/nvpair.c @@ -1642,6 +1642,8 @@ nvlist_lookup_nvpair_ei_sep(nvlist_t *nvl, const char *name, const char sep, if ((nvl == NULL) || (name == NULL)) return (EINVAL); + sepp = NULL; + idx = 0; /* step through components of name */ for (np = name; np && *np; np = sepp) { /* ensure unique names */ -- cgit v1.2.3