|
Message-ID: <CAFvOk+qf2Tc_4o6ms8cJ8dNjNE+zZ92UaG8CWtzfBJRkT=YK-g@mail.gmail.com> Date: Thu, 4 Nov 2021 16:13:22 +0100 From: Terefang Verigorn <terefang@...il.com> To: musl@...ts.openwall.com Subject: Re: possible buffer overflow in crypt() -- musl-1.2.2 proposed patch: --- crypt.c 2021-01-15 03:26:00.000000000 +0100 +++ crypt.c.fixed 2021-11-04 16:11:25.540969172 +0100 @@ -9,6 +9,6 @@ * purely to meet the public API requirements of the crypt_r * function; the implementation of crypt_r uses the object * purely as a char buffer. */ - static char buf[128]; - return __crypt_r(key, salt, (struct crypt_data *)buf); + static struct crypt_data buf; + return __crypt_r(key, salt, (struct crypt_data *)&buf); } On Thu, Nov 4, 2021 at 3:53 PM Terefang Verigorn <terefang@...il.com> wrote: > > hello > > crypt.h declares > --- > struct crypt_data { > int initialized; > char __buf[256]; > }; > --- > > but crypt.c uses > --- > static char buf[128]; > return __crypt_r(key, salt, (struct crypt_data *)buf); > --- > > the buf[128] should be rather buf[sizeof(crypt_data)] > > -- > Terefang -- -- Document My Code? Why do you think they call it "code" ? -- App developers spend too much time debugging errors in production systems https://betanews.com/2016/11/03/developers-debugging-production-errors/ -- “The Principle of Priority states (a) you must know the difference between what is urgent and what is important, and (b) you must do what’s important first.” Steven Pressfield (born 1943) American writer
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.