From: Sebastian Dröge Date: Fri, 1 Apr 2011 11:53:39 +0000 (+0200) Subject: element: Use gint64/guint64 string parsing functions X-Git-Tag: RELEASE-0.10.33~255 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9f3e48b55bc96a41b79a8e92859d7df3eadb433c;p=platform%2Fupstream%2Fgstreamer.git element: Use gint64/guint64 string parsing functions And check that the requested pad names are inside the valid gint/guint range. --- diff --git a/gst/gstelement.c b/gst/gstelement.c index 414d61b..1b37cfd 100644 --- a/gst/gstelement.c +++ b/gst/gstelement.c @@ -1005,18 +1005,18 @@ _gst_element_request_pad (GstElement * element, GstPadTemplate * templ, /* Can either be %s or %d or %u, do sanity checking for %d */ if (*(str + 1) == 'd') { - glong tmp; + gint64 tmp; /* it's an int */ - tmp = strtol (data, &endptr, 10); - g_return_val_if_fail (tmp != G_MINLONG && tmp != G_MAXLONG + tmp = g_ascii_strtoll (data, &endptr, 10); + g_return_val_if_fail (tmp >= G_MININT && tmp <= G_MAXINT && *endptr == '\0', NULL); } else if (*(str + 1) == 'u') { - gulong tmp; + guint64 tmp; /* it's an int */ - tmp = strtoul (data, &endptr, 10); - g_return_val_if_fail (tmp != G_MAXULONG && *endptr == '\0', NULL); + tmp = g_ascii_strtoull (data, &endptr, 10); + g_return_val_if_fail (tmp <= G_MAXUINT && *endptr == '\0', NULL); } }