From: Stefano Garzarella <sgarzare@redhat.com> To: qemu-devel@nongnu.org Cc: Jason Wang <jasowang@redhat.com>, Peter Maydell <peter.maydell@linaro.org> Subject: [Qemu-devel] [PATCH] net: avoid to use variable length array in net_client_init() Date: Fri, 3 May 2019 19:06:31 +0200 [thread overview] Message-ID: <20190503170631.228487-1-sgarzare@redhat.com> (raw) net_client_init() uses a variable length array to store the prefix of 'ipv6-net' parameter (e.g. if ipv6-net=fec0::0/64, the prefix is 'fec0::0'). Since the IPv6 prefix can be at most as long as an IPv6 address, we can use an array with fixed size equals to INET6_ADDRSTRLEN. Signed-off-by: Stefano Garzarella <sgarzare@redhat.com> --- net/net.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/net.c b/net/net.c index f3a3c5444c..2e5f27e121 100644 --- a/net/net.c +++ b/net/net.c @@ -1118,7 +1118,7 @@ static int net_client_init(QemuOpts *opts, bool is_netdev, Error **errp) const char *ip6_net = qemu_opt_get(opts, "ipv6-net"); if (ip6_net) { - char buf[strlen(ip6_net) + 1]; + char buf[INET6_ADDRSTRLEN]; if (get_str_sep(buf, sizeof(buf), &ip6_net, '/') < 0) { /* Default 64bit prefix length. */ -- 2.20.1
WARNING: multiple messages have this Message-ID (diff)
From: Stefano Garzarella <sgarzare@redhat.com> To: qemu-devel@nongnu.org Cc: Peter Maydell <peter.maydell@linaro.org>, Jason Wang <jasowang@redhat.com> Subject: [Qemu-devel] [PATCH] net: avoid to use variable length array in net_client_init() Date: Fri, 3 May 2019 19:06:31 +0200 [thread overview] Message-ID: <20190503170631.228487-1-sgarzare@redhat.com> (raw) Message-ID: <20190503170631.itIk5tUGPrhr2ejRK8z6PUUOkvktoK7IC3k5l68Bqcw@z> (raw) net_client_init() uses a variable length array to store the prefix of 'ipv6-net' parameter (e.g. if ipv6-net=fec0::0/64, the prefix is 'fec0::0'). Since the IPv6 prefix can be at most as long as an IPv6 address, we can use an array with fixed size equals to INET6_ADDRSTRLEN. Signed-off-by: Stefano Garzarella <sgarzare@redhat.com> --- net/net.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/net.c b/net/net.c index f3a3c5444c..2e5f27e121 100644 --- a/net/net.c +++ b/net/net.c @@ -1118,7 +1118,7 @@ static int net_client_init(QemuOpts *opts, bool is_netdev, Error **errp) const char *ip6_net = qemu_opt_get(opts, "ipv6-net"); if (ip6_net) { - char buf[strlen(ip6_net) + 1]; + char buf[INET6_ADDRSTRLEN]; if (get_str_sep(buf, sizeof(buf), &ip6_net, '/') < 0) { /* Default 64bit prefix length. */ -- 2.20.1
next reply other threads:[~2019-05-03 17:06 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-05-03 17:06 Stefano Garzarella [this message] 2019-05-03 17:06 ` [Qemu-devel] [PATCH] net: avoid to use variable length array in net_client_init() Stefano Garzarella 2019-05-06 13:23 ` Markus Armbruster 2019-05-06 17:42 ` Stefano Garzarella 2019-05-06 17:54 ` Eric Blake 2019-05-07 7:53 ` Stefano Garzarella
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190503170631.228487-1-sgarzare@redhat.com \ --to=sgarzare@redhat.com \ --cc=jasowang@redhat.com \ --cc=peter.maydell@linaro.org \ --cc=qemu-devel@nongnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).