[Dnsmasq-discuss] [PATCH] Value stored to 'outmsgtype' is never read

Geert Stappers stappers at stappers.nl
Tue Mar 14 22:30:53 UTC 2023


On Tue, Mar 14, 2023 at 12:51:18PM +0100, Petr Menšík wrote:
> Hi!
> 
> Our coverity scan detected new CLANG warning after I have cherry-picked
> commit 03345ecefeb0d82e3c3a4c28f27c3554f0611b39 [1] into our rhel8 release.
> It reported it for 2.79 version, but even the last commit in master branch
> still has the same issue present. In attached patch I have suggested fix.
> 
> I am not sure how to trigger this code from the client, so this is not
> tested with real dhcp client. I track it under Fedora bug [2]. Coverity
> reported it as:
> 
> 1. Defect type: CLANG_WARNING
> 1. dnsmasq-2.79/src/rfc3315.c:344:7: warning[deadcode.DeadStores]: Value stored to 'outmsgtype' is never read
> #   342|
> #   343|       {
> #   344|->       outmsgtype = DHCP6REPLY;
> #   345|         o1 = new_opt6(OPTION6_STATUS_CODE);
> #   346|         put_opt6_short(DHCP6USEMULTI);
> 
> 1. http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=03345ecefeb0d82e3c3a4c28f27c3554f0611b39
> 2. https://bugzilla.redhat.com/show_bug.cgi?id=2178069
> 
> -- 
> Petr Menšík
> Software Engineer, RHEL
> Red Hat,http://www.redhat.com/
> PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB

> From 198f1971d80692582eb3206632873295ea725556 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemensik at redhat.com>
> Date: Tue, 14 Mar 2023 12:39:56 +0100
> Subject: [PATCH] Fix: Value stored to 'outmsgtype' is never read
> 
> Coverity detected bug since commit 03345ecefeb0d82e3c3a4c28f27c3554f0611b39,
> there is assignment not used anymore. Assign the value to the actual
> packet. Still present even in 2.89 version.
> 
> 1. Defect type: CLANG_WARNING
> 1. dnsmasq-2.79/src/rfc3315.c:344:7: warning[deadcode.DeadStores]: Value stored to 'outmsgtype' is never read
>    342|
>    343|       {
>    344|->       outmsgtype = DHCP6REPLY;
>    345|         o1 = new_opt6(OPTION6_STATUS_CODE);
>    346|         put_opt6_short(DHCP6USEMULTI);
> ---
>  src/rfc3315.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/rfc3315.c b/src/rfc3315.c
> index 8754481..1338c87 100644
> --- a/src/rfc3315.c
> +++ b/src/rfc3315.c
> @@ -348,7 +348,7 @@ static int dhcp6_no_relay(struct state *state, int msg_type, unsigned char *inbu
>        (msg_type == DHCP6REQUEST || msg_type == DHCP6RENEW || msg_type == DHCP6RELEASE || msg_type == DHCP6DECLINE))
>      
>      {  
> -      outmsgtype = DHCP6REPLY;
> +      ((unsigned char *)(daemon->outpacket.iov_base))[start_msg] = DHCP6REPLY;

Please elaborate 
 

>        o1 = new_opt6(OPTION6_STATUS_CODE);
>        put_opt6_short(DHCP6USEMULTI);
>        put_opt6_string("Use multicast");


Groeten
Geert Stappers
-- 
Silence is hard to parse



More information about the Dnsmasq-discuss mailing list