diff mbox

[nft] src: Initialize struct stmt in _match and _target functions.

Message ID 20170820045512.3232-1-rvarsha016@gmail.com
State Accepted
Delegated to: Pablo Neira
Headers show

Commit Message

Varsha Rao Aug. 20, 2017, 4:55 a.m. UTC
Initialize structure stmt with stmt_alloc in netlink_parse_target and
netlink_parse_match functions. This patch fixes the warning:

‘stmt’ may be used uninitialized in this function.

Signed-off-by: Varsha Rao <rvarsha016@gmail.com>
---
 src/xt.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Pablo Neira Ayuso Aug. 21, 2017, 2:45 p.m. UTC | #1
On Sun, Aug 20, 2017 at 10:25:12AM +0530, Varsha Rao wrote:
> Initialize structure stmt with stmt_alloc in netlink_parse_target and
> netlink_parse_match functions. This patch fixes the warning:
> 
> ‘stmt’ may be used uninitialized in this function.
> 
> Signed-off-by: Varsha Rao <rvarsha016@gmail.com>
> ---
>  src/xt.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/src/xt.c b/src/xt.c
> index 3bc38ee..9aff414 100644
> --- a/src/xt.c
> +++ b/src/xt.c
> @@ -143,6 +143,7 @@ void netlink_parse_match(struct netlink_parse_ctx *ctx,
>  	m->u.match_size = mt_len + XT_ALIGN(sizeof(struct xt_entry_match));
>  	m->u.user.revision = nftnl_expr_get_u32(nle, NFTNL_EXPR_MT_REV);
>  
> +	stmt = stmt_alloc(loc, NULL);

this is partially reverting:

http://git.netfilter.org/nftables/commit/?id=bce55916b51ec1a4c23322781e3b0c698ecc9561

Are you 100% this works? How did you test this?

>  	stmt->xt.name = strdup(name);
>  	stmt->xt.type = NFT_XT_MATCH;
>  	stmt->xt.match = xt_match_clone(mt);
> @@ -179,6 +180,7 @@ void netlink_parse_target(struct netlink_parse_ctx *ctx,
>  	t->u.user.revision = nftnl_expr_get_u32(nle, NFTNL_EXPR_TG_REV);
>  	strcpy(t->u.user.name, tg->name);
>  
> +	stmt = stmt_alloc(loc, NULL);
>  	stmt->xt.name = strdup(name);
>  	stmt->xt.type = NFT_XT_TARGET;
>  	stmt->xt.target = xt_target_clone(tg);
> -- 
> 2.13.5
> 
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Pablo Neira Ayuso Aug. 24, 2017, 2:12 p.m. UTC | #2
On Sun, Aug 20, 2017 at 10:25:12AM +0530, Varsha Rao wrote:
> Initialize structure stmt with stmt_alloc in netlink_parse_target and
> netlink_parse_match functions. This patch fixes the warning:
> 
> ‘stmt’ may be used uninitialized in this function.

Applied, thanks Varsha.
--
To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/src/xt.c b/src/xt.c
index 3bc38ee..9aff414 100644
--- a/src/xt.c
+++ b/src/xt.c
@@ -143,6 +143,7 @@  void netlink_parse_match(struct netlink_parse_ctx *ctx,
 	m->u.match_size = mt_len + XT_ALIGN(sizeof(struct xt_entry_match));
 	m->u.user.revision = nftnl_expr_get_u32(nle, NFTNL_EXPR_MT_REV);
 
+	stmt = stmt_alloc(loc, NULL);
 	stmt->xt.name = strdup(name);
 	stmt->xt.type = NFT_XT_MATCH;
 	stmt->xt.match = xt_match_clone(mt);
@@ -179,6 +180,7 @@  void netlink_parse_target(struct netlink_parse_ctx *ctx,
 	t->u.user.revision = nftnl_expr_get_u32(nle, NFTNL_EXPR_TG_REV);
 	strcpy(t->u.user.name, tg->name);
 
+	stmt = stmt_alloc(loc, NULL);
 	stmt->xt.name = strdup(name);
 	stmt->xt.type = NFT_XT_TARGET;
 	stmt->xt.target = xt_target_clone(tg);