[Spice-devel] [spice-gtk 1/2] webdav: Cope with NULL SpiceSession::shared-dir

Marc-André Lureau mlureau at redhat.com
Thu Jan 29 03:13:36 PST 2015


ack

----- Original Message -----
> shared-dir default value is
> g_get_user_special_dir(G_USER_DIRECTORY_PUBLIC_SHARE)
> which can be NULL (for example if ~/.config/user-dirs.dirs does not
> exist).
> This commit makes sure we don't create a PhodavServer when this occurs
> ---
>  gtk/channel-webdav.c | 9 ++++++++-
>  gtk/spice-session.c  | 4 +++-
>  2 files changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/gtk/channel-webdav.c b/gtk/channel-webdav.c
> index 94f3ef3..bce46fa 100644
> --- a/gtk/channel-webdav.c
> +++ b/gtk/channel-webdav.c
> @@ -700,8 +700,15 @@ PhodavServer* channel_webdav_server_new(SpiceSession
> *session)
>      PhodavServer *dav;
>      SoupServer *server;
>      SoupSocket *listener;
> +    const char *shared_dir;
>  
> -    dav = phodav_server_new(0, spice_session_get_shared_dir(session));
> +    shared_dir = spice_session_get_shared_dir(session);
> +    if (shared_dir != NULL) {
> +        g_debug("No shared dir set, not creating webdav channel");
> +        return NULL;
> +    }
> +
> +    dav = phodav_server_new(0, shared_dir);
>  
>      server = phodav_server_get_soup_server(dav);
>      listener = soup_server_get_listener(server);
> diff --git a/gtk/spice-session.c b/gtk/spice-session.c
> index a62d533..059cd2f 100644
> --- a/gtk/spice-session.c
> +++ b/gtk/spice-session.c
> @@ -2626,7 +2626,9 @@ PhodavServer*
> spice_session_get_webdav_server(SpiceSession *session)
>              session->priv->webdav_magic[i] = g_random_int_range(0, 255);
>  
>          session->priv->webdav = channel_webdav_server_new(session);
> -        phodav_server_run(session->priv->webdav);
> +        if (session->priv->webdav != NULL) {
> +            phodav_server_run(session->priv->webdav);
> +        }
>      }
>      g_static_mutex_unlock(&mutex);
>  #endif
> --
> 2.1.0
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
> 


More information about the Spice-devel mailing list