fix invalid free of duplocale object when malloc has been replaced
authorIsaiah Poston <isaiah@ilposton.com>
Sun, 13 Mar 2022 00:21:56 +0000 (18:21 -0600)
committerRich Felker <dalias@aerifal.cx>
Wed, 16 Mar 2022 23:29:38 +0000 (19:29 -0400)
commit6d8a515796270eb6cec8a278cb353a078a10f09a
tree843dae50fcbe6a1390ed86ef62067ded6b7c48ed
parent760f5d7efed4d4761875334f8c4e6398be308cc9
fix invalid free of duplocale object when malloc has been replaced

newlocale and freelocale use __libc_malloc and __libc_free, but
duplocale used malloc. If malloc was replaced, this resulted in
invalid free using the wrong allocator when passing the result of
duplocale to freelocale.

Instead, use libc-internal malloc for duplocale.

This bug was introduced by commit
1e4204d522670a1d8b8ab85f1cfefa960547e8af.
src/locale/duplocale.c