IPv6: datagram_send_ctl() should exit immediately when an error occured
authorMiao Xie <miaox@cn.fujitsu.com>
Wed, 30 Jul 2008 06:57:58 +0000 (23:57 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 30 Jul 2008 06:57:58 +0000 (23:57 -0700)
When an error occured, datagram_send_ctl() should exit immediately rather than
continue to run the for loop. Otherwise, the variable err might be changed and
the error might be hidden.

Fix this bug by using "goto" instead of "break".

Signed-off-by: Miao Xie <miaox@cn.fujitsu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/datagram.c

index f7b535dec860ea2ee29dca14581610e443b6042b..410046a8cc915f5ea2f56a4c7b6c105f58d1903d 100644 (file)
@@ -732,7 +732,7 @@ int datagram_send_ctl(struct net *net,
                        LIMIT_NETDEBUG(KERN_DEBUG "invalid cmsg type: %d\n",
                                       cmsg->cmsg_type);
                        err = -EINVAL;
-                       break;
+                       goto exit_f;
                }
        }