dash: Fix stripping of space at the beginning/end of durations

The way how strchr() was called here, it could easily read after the end
of the string. Use g_ascii_isspace() instead.

Detected by asan in the unit test.
This commit is contained in:
Sebastian Dröge 2016-11-27 12:20:11 +02:00
parent 7488a8fb35
commit eef53ef6ed

View file

@ -984,11 +984,11 @@ gst_mpdparser_parse_duration (const char *str, guint64 * value)
goto error;
}
/* skip leading/trailing whitespace */
while (strchr (" \t", str[0])) {
while (g_ascii_isspace (str[0])) {
str++;
len--;
}
while (len > 0 && strchr (" \t", str[len - 1]))
while (len > 0 && g_ascii_isspace (str[len - 1]))
--len;
/* read "P" for period */