diff mbox

[PULL,00/10] vnc: add support for multiple listening sockets.

Message ID 20170209135851.GC4742@redhat.com
State New
Headers show

Commit Message

Daniel P. Berrangé Feb. 9, 2017, 1:58 p.m. UTC
On Thu, Feb 09, 2017 at 01:15:52PM +0000, Peter Maydell wrote:
> On 9 February 2017 at 13:01, Gerd Hoffmann <kraxel@redhat.com> wrote:
> >   Hi,
> >
> > Here comes the UI patch queue, carrying only vnc updates this time.  Big
> > chunk is the multiple sockets support patch series, but there are also
> > some smaller fixes and cleanups.
> >
> > please pull,
> >   Gerd
> >
> > The following changes since commit d0dff238a87fa81393ed72754d4dc8b09e50b08b:
> >
> >   Merge remote-tracking branch 'remotes/juanquintela/tags/migration/20170206' into staging (2017-02-07 15:29:26 +0000)
> >
> > are available in the git repository at:
> >
> >
> >   git://git.kraxel.org/qemu tags/pull-ui-20170209-1
> >
> > for you to fetch changes up to 7448e761356799d4e445e6ea3891a8067233465d:
> >
> >   ui: add ability to specify multiple VNC listen addresses (2017-02-08 14:59:40 +0100)
> >
> > ----------------------------------------------------------------
> > vnc: add support for multiple listening sockets.
> > vnc: misc fixes and cleanups.
> 
> Build failure on clang/OSX:
> 
> /Users/pm215/src/qemu-for-merges/ui/vnc.c:3566:21: error: variable
> 'baseport' is used uninitialized whenever 'if' condition is false
> [-Werror,-Wsometimes-uninitialized]
>                 if (displaynum == -1) {
>                     ^~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/ui/vnc.c:3603:15: note: uninitialized
> use occurs here
>         ret = baseport;
>               ^~~~~~~~
>   CC      ui/vnc-enc-hextile.o
> /Users/pm215/src/qemu-for-merges/ui/vnc.c:3566:17: note: remove the
> 'if' if its condition is always true
>                 if (displaynum == -1) {
>                 ^~~~~~~~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/ui/vnc.c:3564:17: error: variable
> 'baseport' is used uninitialized whenever 'if' condition is false
> [-Werror,-Wsometimes-uninitialized]
>             if (g_str_equal(addrstr, "") ||
>                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/ui/vnc.c:3603:15: note: uninitialized
> use occurs here
>         ret = baseport;
>               ^~~~~~~~
> /Users/pm215/src/qemu-for-merges/ui/vnc.c:3564:13: note: remove the
> 'if' if its condition is always true
>             if (g_str_equal(addrstr, "") ||
>             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/ui/vnc.c:3533:36: note: initialize
> the variable 'baseport' to silence this warning
>         unsigned long long baseport;
>                                    ^
>                                     = 0
> 
> That's slightly confused, but what it's saying is that in
> vnc_display_get_address() we don't set baseport in the
> if (websocket) codepath, but we use it unconditionally.

Yes, a huge list of messages for a single missed initialization.

Gerd, just squash



Into this commit:

    ui: refactor code for populating SocketAddress from vnc_display_open

Just confirmed this fixes it with a local clang build

Regards,
Daniel

Comments

Gerd Hoffmann Feb. 9, 2017, 4:48 p.m. UTC | #1
> Gerd, just squash
> 
> diff --git a/ui/vnc.c b/ui/vnc.c
> index 77f2a99..bffc650 100644
> --- a/ui/vnc.c
> +++ b/ui/vnc.c
> @@ -3529,7 +3529,7 @@ static int vnc_display_get_address(const char *addrstr,
>      } else {
>          const char *port;
>          size_t hostlen;
> -        unsigned long long baseport;
> +        unsigned long long baseport = 0;
>          InetSocketAddress *inet;
>  
>          port = strrchr(addrstr, ':');
> 
> 
> Into this commit:
> 
>     ui: refactor code for populating SocketAddress from vnc_display_open
> 
> Just confirmed this fixes it with a local clang build

Thanks.  Done, new pull on the way.

> 
> Regards,
> Daniel
diff mbox

Patch

diff --git a/ui/vnc.c b/ui/vnc.c
index 77f2a99..bffc650 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3529,7 +3529,7 @@  static int vnc_display_get_address(const char *addrstr,
     } else {
         const char *port;
         size_t hostlen;
-        unsigned long long baseport;
+        unsigned long long baseport = 0;
         InetSocketAddress *inet;
 
         port = strrchr(addrstr, ':');