[Spice-devel] [PATCH spice-gtk] session: warn on invalid port value
Hans de Goede
hdegoede at redhat.com
Wed Feb 20 09:12:28 PST 2013
Hi,
On 02/20/2013 05:58 PM, Marc-André Lureau wrote:
> ---
> gtk/spice-session.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/gtk/spice-session.c b/gtk/spice-session.c
> index ccc9367..88ab5f6 100644
> --- a/gtk/spice-session.c
> +++ b/gtk/spice-session.c
> @@ -1745,15 +1745,22 @@ GSocket* spice_session_channel_open_host(SpiceSession *session, SpiceChannel *ch
> {
> SpiceSessionPrivate *s = SPICE_SESSION_GET_PRIVATE(session);
> spice_open_host open_host = { 0, };
> -
> - if ((use_tls && !s->tls_port) || (!use_tls && !s->port))
> - return NULL;
> + gchar *port, *endptr;
>
> // FIXME: make open_host() cancellable
> open_host.from = coroutine_self();
> open_host.session = session;
> open_host.channel = channel;
> - open_host.port = atoi(use_tls ? s->tls_port : s->port);
> + port = use_tls ? s->tls_port : s->port;
> + if (port == NULL)
> + return NULL;
> +
> + open_host.port = strtol(port, &endptr, 10);
> + if (*port == '\0' || *endptr != '\0') {
> + g_warning("Invalid port value %s", port);
> + return NULL;
> + }
> +
If you're going to do this you should probably also check for open_host.port < 0
|| open_host.port > 65535
Regards,
Hans
More information about the Spice-devel
mailing list