From: Sonia Sharma Date: Tue, 6 Mar 2018 18:28:09 +0000 (-0800) Subject: LU-10772 utils: incorrect NULL check in free_node() X-Git-Tag: 2.11.0-RC1~18 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=782736f7c5cf96ae72bf6ee8791764130e2447d8 LU-10772 utils: incorrect NULL check in free_node() In lnet/utils/lnetconfig/cyaml.c, for free_node() check first for NULL pointer before dereferencing it. Issue found in Static analysis Change-Id: I6298f0f09175b6fd210db5717d44d050b1cb9d8d Signed-off-by: Sonia Sharma Reviewed-on: https://review.whamcloud.com/31551 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Dmitry Eremin Reviewed-by: Oleg Drokin --- diff --git a/lnet/utils/lnetconfig/cyaml.c b/lnet/utils/lnetconfig/cyaml.c index 7c0ae4e..71b3f49 100644 --- a/lnet/utils/lnetconfig/cyaml.c +++ b/lnet/utils/lnetconfig/cyaml.c @@ -679,13 +679,15 @@ static bool clean_usr_data(struct cYAML *node, void *usr_data, void **out) static bool free_node(struct cYAML *node, void *user_data, void **out) { + if (!node) + return true; + if (node->cy_type == CYAML_TYPE_STRING) free(node->cy_valuestring); if (node->cy_string) free(node->cy_string); - if (node) - free(node); + free(node); return true; }