[vdr] get a segmentation fault when starting vdr (backtrace included)
Gerald Dachs
vdr at dachsweb.de
Fri Nov 30 11:32:22 CET 2012
Am 2012-11-30 10:17, schrieb Lars Hanisch:
> Looks like the pointer returned by sscanf is not valid:
>
> 32: bool tComponent::FromString(const char *s)
> 33: {
> 34: unsigned int Stream, Type;
> 35: int n = sscanf(s, "%X %02X %7s %a[^\n]", &Stream, &Type,
> language, &description); // 7 = MAXLANGCODE2 - 1
> 36: if (n != 4 || isempty(description)) {
> 37: free(description);
> 38: description = NULL;
> 39: }
> 40: stream = Stream;
> 41: type = Type;
> 42: return n >= 3;
> 43: }
From man sscanf:
The GNU C library supports a nonstandard extension that causes
the library to
dynamically allocate a string of sufficient size for input
strings for the %s
and %a[range] conversion specifiers.
This is the reason why it doesn't work with ulibc.
Gerald
More information about the vdr
mailing list