Am 15.06.2011 18:34, schrieb Klaus Schmidinger:
> On 15.06.2011 15:30, Paul Menzel wrote:
>>            if (Instant&&  channel)
>>               snprintf(file, sizeof(file), "%s%s",
>> Setup.MarkInstantRecord ? "@" : "", *Setup.NameInstantRecord ?
>> Setup.NameInstantRecord : channel->Name());
> 
> ...this should be
> 
>   sizeof(file) - 1

Actually, all versions of snprintf documentation I've just checked agree
that snprintf will write at most size-1 chars and a trailing 0 byte, so
it was ok before too. But for safety, on byte less doesn't hurt.

Or is there some broken implementation out there that may write beyond
str[size-1]?

(strncpy is more broken, thats why my typical usage is:
  strncpy(dest, src, sizeof(dest)-1);
  dest[sizeof(dest)-1] = 0;
)

Cheers,

Udo

_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to