[dm-devel] [PATCH v3 08/19] libmultipath: _install_keyword cleanup
Martin Wilck
mwilck at suse.com
Mon Oct 1 21:26:41 UTC 2018
On Fri, 2018-09-21 at 18:05 -0500, Benjamin Marzinski wrote:
> _install_keyword should use VECTOR_LAST_SLOT(), which has better
> error
> checking. It should also fail if it gets a NULL pointer, instead of
> dereferencing it. Found by coverity.
>
> Signed-off-by: Benjamin Marzinski <bmarzins at redhat.com>
Reviewed-by: Martin Wilck <mwilck at suse.com>
> ---
> libmultipath/parser.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/libmultipath/parser.c b/libmultipath/parser.c
> index b8b7e0d..92ef7cf 100644
> --- a/libmultipath/parser.c
> +++ b/libmultipath/parser.c
> @@ -79,12 +79,16 @@ _install_keyword(vector keywords, char *string,
> struct keyword *keyword;
>
> /* fetch last keyword */
> - keyword = VECTOR_SLOT(keywords, VECTOR_SIZE(keywords) - 1);
> + keyword = VECTOR_LAST_SLOT(keywords);
> + if (!keyword)
> + return 1;
>
> /* position to last sub level */
> - for (i = 0; i < sublevel; i++)
> - keyword =
> - VECTOR_SLOT(keyword->sub, VECTOR_SIZE(keyword->sub)
> - 1);
> + for (i = 0; i < sublevel; i++) {
> + keyword = VECTOR_LAST_SLOT(keyword->sub);
> + if (!keyword)
> + return 1;
> + }
>
> /* First sub level allocation */
> if (!keyword->sub)
--
Dr. Martin Wilck <mwilck at suse.com>, Tel. +49 (0)911 74053 2107
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
More information about the dm-devel
mailing list