From: John Darrington <john@darrington.wattle.id.au> Date: Sat, 29 Sep 2018 09:10:45 +0000 (+0200) Subject: value-variant.c: Avoid read from beyond end of buffer in string values. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef41f96ea518d1d164ea178f9364721b0a78e599;p=pspp value-variant.c: Avoid read from beyond end of buffer in string values. --- diff --git a/src/ui/gui/value-variant.c b/src/ui/gui/value-variant.c index 0789717ab7..ce523ae14e 100644 --- a/src/ui/gui/value-variant.c +++ b/src/ui/gui/value-variant.c @@ -87,12 +87,11 @@ value_variant_get (union value *val, GVariant *v) else { const gchar *data = g_variant_get_bytestring (vdata); + size_t len = strlen (data); if (width <= MAX_SHORT_STRING) - memcpy (val->short_string, data, MAX_SHORT_STRING); + memcpy (val->short_string, data, MIN (MAX_SHORT_STRING, len)); else - { - val->long_string = xmemdup (data, width); - } + val->long_string = xmemdup (data, MIN (width, len)); } g_variant_unref (vdata);