|
|
Message-ID: <20110523021022.GI6142@port70.net>
Date: Mon, 23 May 2011 04:10:22 +0200
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Subject: Re: wcsncpy bug
* Szabolcs Nagy <nsz@...t70.net> [2011-05-23 03:25:47 +0200]:
> wchar_t *wcsncpy(wchar_t *d, const wchar_t *s, size_t n)
> {
> wchar_t *a = d;
> - while (n && (*d++ = *s++)) n--;
> + while (n-- && (*d++ = *s++));
hm this code is not ok if n underflows here..
> wmemset(d, 0, n);
> return a;
> }
let me try again..
maybe you can figure out a nicer one
wchar_t *wcsncpy(wchar_t *d, const wchar_t *s, size_t n)
{
wchar_t *a = d;
while (n && *s) {
*d++ = *s++;
n--;
}
wmemset(d, 0, n);
return a;
}
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.