<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glibc.git, branch release/2.33/master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/'/>
<entry>
<title>x86-64: Add GLIBC_ABI_DT_X86_64_PLT [BZ #33212]</title>
<updated>2025-08-18T00:06:48+00:00</updated>
<author>
<name>H.J. Lu</name>
<email>hjl.tools@gmail.com</email>
</author>
<published>2025-08-14T14:03:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=68cca6e1e8faac153c2f82dd3d1e2818d1b33f87'/>
<id>68cca6e1e8faac153c2f82dd3d1e2818d1b33f87</id>
<content type='text'>
When the linker -z mark-plt option is used to add DT_X86_64_PLT,
DT_X86_64_PLTSZ and DT_X86_64_PLTENT, the r_addend field of the
R_X86_64_JUMP_SLOT relocation stores the offset of the indirect
branch instruction.  However, glibc versions without the commit:

commit f8587a61892cbafd98ce599131bf4f103466f084
Author: H.J. Lu &lt;hjl.tools@gmail.com&gt;
Date:   Fri May 20 19:21:48 2022 -0700

    x86-64: Ignore r_addend for R_X86_64_GLOB_DAT/R_X86_64_JUMP_SLOT

    According to x86-64 psABI, r_addend should be ignored for R_X86_64_GLOB_DAT
    and R_X86_64_JUMP_SLOT.  Since linkers always set their r_addends to 0, we
    can ignore their r_addends.

    Reviewed-by: Fangrui Song &lt;maskray@google.com&gt;

won't ignore the r_addend value in the R_X86_64_JUMP_SLOT relocation.
Such programs and shared libraries will fail at run-time randomly.

Add GLIBC_ABI_DT_X86_64_PLT version to indicate that glibc is compatible
with DT_X86_64_PLT.

The linker can add the glibc GLIBC_ABI_DT_X86_64_PLT version dependency
whenever -z mark-plt is passed to the linker.  The resulting programs and
shared libraries will fail to load at run-time against libc.so without the
GLIBC_ABI_DT_X86_64_PLT version, instead of fail randomly.

This fixes BZ #33212.

Signed-off-by: H.J. Lu &lt;hjl.tools@gmail.com&gt;
Reviewed-by: Sam James &lt;sam@gentoo.org&gt;
(cherry picked from commit 399384e0c8193e31aea014220ccfa24300ae5938)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the linker -z mark-plt option is used to add DT_X86_64_PLT,
DT_X86_64_PLTSZ and DT_X86_64_PLTENT, the r_addend field of the
R_X86_64_JUMP_SLOT relocation stores the offset of the indirect
branch instruction.  However, glibc versions without the commit:

commit f8587a61892cbafd98ce599131bf4f103466f084
Author: H.J. Lu &lt;hjl.tools@gmail.com&gt;
Date:   Fri May 20 19:21:48 2022 -0700

    x86-64: Ignore r_addend for R_X86_64_GLOB_DAT/R_X86_64_JUMP_SLOT

    According to x86-64 psABI, r_addend should be ignored for R_X86_64_GLOB_DAT
    and R_X86_64_JUMP_SLOT.  Since linkers always set their r_addends to 0, we
    can ignore their r_addends.

    Reviewed-by: Fangrui Song &lt;maskray@google.com&gt;

won't ignore the r_addend value in the R_X86_64_JUMP_SLOT relocation.
Such programs and shared libraries will fail at run-time randomly.

Add GLIBC_ABI_DT_X86_64_PLT version to indicate that glibc is compatible
with DT_X86_64_PLT.

The linker can add the glibc GLIBC_ABI_DT_X86_64_PLT version dependency
whenever -z mark-plt is passed to the linker.  The resulting programs and
shared libraries will fail to load at run-time against libc.so without the
GLIBC_ABI_DT_X86_64_PLT version, instead of fail randomly.

This fixes BZ #33212.

Signed-off-by: H.J. Lu &lt;hjl.tools@gmail.com&gt;
Reviewed-by: Sam James &lt;sam@gentoo.org&gt;
(cherry picked from commit 399384e0c8193e31aea014220ccfa24300ae5938)
</pre>
</div>
</content>
</entry>
<entry>
<title>posix: Fix double-free after allocation failure in regcomp (bug 33185)</title>
<updated>2025-07-24T10:11:24+00:00</updated>
<author>
<name>Florian Weimer</name>
<email>fweimer@redhat.com</email>
</author>
<published>2025-07-21T19:43:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=1ec499b16573ed84223c5ec93964734b8c078555'/>
<id>1ec499b16573ed84223c5ec93964734b8c078555</id>
<content type='text'>
If a memory allocation failure occurs during bracket expression
parsing in regcomp, a double-free error may result.

Reported-by: Anastasia Belova &lt;abelova@astralinux.ru&gt;
Co-authored-by: Paul Eggert &lt;eggert@cs.ucla.edu&gt;
Reviewed-by: Andreas K. Huettel &lt;dilfridge@gentoo.org&gt;
(cherry picked from commit 7ea06e994093fa0bcca0d0ee2c1db271d8d7885d)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a memory allocation failure occurs during bracket expression
parsing in regcomp, a double-free error may result.

Reported-by: Anastasia Belova &lt;abelova@astralinux.ru&gt;
Co-authored-by: Paul Eggert &lt;eggert@cs.ucla.edu&gt;
Reviewed-by: Andreas K. Huettel &lt;dilfridge@gentoo.org&gt;
(cherry picked from commit 7ea06e994093fa0bcca0d0ee2c1db271d8d7885d)
</pre>
</div>
</content>
</entry>
<entry>
<title>s390x: Fix segfault in wcsncmp [BZ #31934]</title>
<updated>2024-07-16T08:34:50+00:00</updated>
<author>
<name>Stefan Liebler</name>
<email>stli@linux.ibm.com</email>
</author>
<published>2024-07-11T09:28:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=5f08d1df2c07904c1dc98bdf2b363c65874266f7'/>
<id>5f08d1df2c07904c1dc98bdf2b363c65874266f7</id>
<content type='text'>
The z13/vector-optimized wcsncmp implementation segfaults if n=1
and there is only one character (equal on both strings) before
the page end.  Then it loads and compares one character and misses
to check n again.  The following load fails.

This patch removes the extra load and compare of the first character
and just start with the loop which uses vector-load-to-block-boundary.
This code-path also checks n.

With this patch both tests are passing:
- the simplified one mentioned in the bugzilla 31934
- the full one in Florian Weimer's patch:
"manual: Document a GNU extension for strncmp/wcsncmp"
(https://patchwork.sourceware.org/project/glibc/patch/874j9eml6y.fsf@oldenburg.str.redhat.com/):
On s390x-linux-gnu (z16), the new wcsncmp test fails due to bug 31934.
Reviewed-by: Carlos O'Donell &lt;carlos@redhat.com&gt;

(cherry picked from commit 9b7651410375ec8848a1944992d663d514db4ba7)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The z13/vector-optimized wcsncmp implementation segfaults if n=1
and there is only one character (equal on both strings) before
the page end.  Then it loads and compares one character and misses
to check n again.  The following load fails.

This patch removes the extra load and compare of the first character
and just start with the loop which uses vector-load-to-block-boundary.
This code-path also checks n.

With this patch both tests are passing:
- the simplified one mentioned in the bugzilla 31934
- the full one in Florian Weimer's patch:
"manual: Document a GNU extension for strncmp/wcsncmp"
(https://patchwork.sourceware.org/project/glibc/patch/874j9eml6y.fsf@oldenburg.str.redhat.com/):
On s390x-linux-gnu (z16), the new wcsncmp test fails due to bug 31934.
Reviewed-by: Carlos O'Donell &lt;carlos@redhat.com&gt;

(cherry picked from commit 9b7651410375ec8848a1944992d663d514db4ba7)
</pre>
</div>
</content>
</entry>
<entry>
<title>Force DT_RPATH for --enable-hardcoded-path-in-tests</title>
<updated>2024-05-10T12:46:28+00:00</updated>
<author>
<name>H.J. Lu</name>
<email>hjl.tools@gmail.com</email>
</author>
<published>2024-05-10T03:07:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=d0916db23313266770c865091cc3d4ae69871e60'/>
<id>d0916db23313266770c865091cc3d4ae69871e60</id>
<content type='text'>
On Fedora 40/x86-64, linker enables --enable-new-dtags by default which
generates DT_RUNPATH instead of DT_RPATH.  Unlike DT_RPATH, DT_RUNPATH
only applies to DT_NEEDED entries in the executable and doesn't applies
to DT_NEEDED entries in shared libraries which are loaded via DT_NEEDED
entries in the executable.  Some glibc tests have libstdc++.so.6 in
DT_NEEDED, which has libm.so.6 in DT_NEEDED.  When DT_RUNPATH is generated,
/lib64/libm.so.6 is loaded for such tests.  If the newly built glibc is
older than glibc 2.36, these tests fail with

assert/tst-assert-c++: /export/build/gnu/tools-build/glibc-gitlab-release/build-x86_64-linux/libc.so.6: version `GLIBC_2.36' not found (required by /lib64/libm.so.6)
assert/tst-assert-c++: /export/build/gnu/tools-build/glibc-gitlab-release/build-x86_64-linux/libc.so.6: version `GLIBC_ABI_DT_RELR' not found (required by /lib64/libm.so.6)

Pass -Wl,--disable-new-dtags to linker when building glibc tests with
--enable-hardcoded-path-in-tests.  This fixes BZ #31719.

Signed-off-by: H.J. Lu &lt;hjl.tools@gmail.com&gt;
(cherry picked from commit 2dcaf70643710e22f92a351e36e3cff8b48c60dc)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On Fedora 40/x86-64, linker enables --enable-new-dtags by default which
generates DT_RUNPATH instead of DT_RPATH.  Unlike DT_RPATH, DT_RUNPATH
only applies to DT_NEEDED entries in the executable and doesn't applies
to DT_NEEDED entries in shared libraries which are loaded via DT_NEEDED
entries in the executable.  Some glibc tests have libstdc++.so.6 in
DT_NEEDED, which has libm.so.6 in DT_NEEDED.  When DT_RUNPATH is generated,
/lib64/libm.so.6 is loaded for such tests.  If the newly built glibc is
older than glibc 2.36, these tests fail with

assert/tst-assert-c++: /export/build/gnu/tools-build/glibc-gitlab-release/build-x86_64-linux/libc.so.6: version `GLIBC_2.36' not found (required by /lib64/libm.so.6)
assert/tst-assert-c++: /export/build/gnu/tools-build/glibc-gitlab-release/build-x86_64-linux/libc.so.6: version `GLIBC_ABI_DT_RELR' not found (required by /lib64/libm.so.6)

Pass -Wl,--disable-new-dtags to linker when building glibc tests with
--enable-hardcoded-path-in-tests.  This fixes BZ #31719.

Signed-off-by: H.J. Lu &lt;hjl.tools@gmail.com&gt;
(cherry picked from commit 2dcaf70643710e22f92a351e36e3cff8b48c60dc)
</pre>
</div>
</content>
</entry>
<entry>
<title>elf: Disable some subtests of ifuncmain1, ifuncmain5 for !PIE</title>
<updated>2024-05-09T23:47:01+00:00</updated>
<author>
<name>Florian Weimer</name>
<email>fweimer@redhat.com</email>
</author>
<published>2022-11-04T17:37:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=430e8259099073b65bf75e546f74761ee948a268'/>
<id>430e8259099073b65bf75e546f74761ee948a268</id>
<content type='text'>
(cherry picked from commit 9cc9d61ee12f2f8620d8e0ea3c42af02bf07fe1e)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit 9cc9d61ee12f2f8620d8e0ea3c42af02bf07fe1e)
</pre>
</div>
</content>
</entry>
<entry>
<title>nscd: Use time_t for return type of addgetnetgrentX</title>
<updated>2024-05-03T07:22:44+00:00</updated>
<author>
<name>Florian Weimer</name>
<email>fweimer@redhat.com</email>
</author>
<published>2024-05-02T15:06:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=1e398f406bb7ad8ffac66e664a44f11d2a0b8f36'/>
<id>1e398f406bb7ad8ffac66e664a44f11d2a0b8f36</id>
<content type='text'>
Using int may give false results for future dates (timeouts after the
year 2028).

Fixes commit 04a21e050d64a1193a6daab872bca2528bda44b ("CVE-2024-33601,
CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX
(bug 31680)").

Reviewed-by: Carlos O'Donell &lt;carlos@redhat.com&gt;
(cherry picked from commit 4bbca1a44691a6e9adcee5c6798a707b626bc331)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using int may give false results for future dates (timeouts after the
year 2028).

Fixes commit 04a21e050d64a1193a6daab872bca2528bda44b ("CVE-2024-33601,
CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX
(bug 31680)").

Reviewed-by: Carlos O'Donell &lt;carlos@redhat.com&gt;
(cherry picked from commit 4bbca1a44691a6e9adcee5c6798a707b626bc331)
</pre>
</div>
</content>
</entry>
<entry>
<title>CVE-2024-33601, CVE-2024-33602: nscd: netgroup: Use two buffers in addgetnetgrentX (bug 31680)</title>
<updated>2024-04-25T14:07:52+00:00</updated>
<author>
<name>Florian Weimer</name>
<email>fweimer@redhat.com</email>
</author>
<published>2024-04-25T13:01:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=4d27d4b9a188786fc6a56745506cec2acfc51f83'/>
<id>4d27d4b9a188786fc6a56745506cec2acfc51f83</id>
<content type='text'>
This avoids potential memory corruption when the underlying NSS
callback function does not use the buffer space to store all strings
(e.g., for constant strings).

Instead of custom buffer management, two scratch buffers are used.
This increases stack usage somewhat.

Scratch buffer allocation failure is handled by return -1
(an invalid timeout value) instead of terminating the process.
This fixes bug 31679.

Reviewed-by: Siddhesh Poyarekar &lt;siddhesh@sourceware.org&gt;
(cherry picked from commit c04a21e050d64a1193a6daab872bca2528bda44b)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This avoids potential memory corruption when the underlying NSS
callback function does not use the buffer space to store all strings
(e.g., for constant strings).

Instead of custom buffer management, two scratch buffers are used.
This increases stack usage somewhat.

Scratch buffer allocation failure is handled by return -1
(an invalid timeout value) instead of terminating the process.
This fixes bug 31679.

Reviewed-by: Siddhesh Poyarekar &lt;siddhesh@sourceware.org&gt;
(cherry picked from commit c04a21e050d64a1193a6daab872bca2528bda44b)
</pre>
</div>
</content>
</entry>
<entry>
<title>CVE-2024-33600: nscd: Avoid null pointer crashes after notfound response (bug 31678)</title>
<updated>2024-04-25T14:07:52+00:00</updated>
<author>
<name>Florian Weimer</name>
<email>fweimer@redhat.com</email>
</author>
<published>2024-04-25T13:01:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=e3eef1b8fbdd3a7917af466ca9c4b7477251ca79'/>
<id>e3eef1b8fbdd3a7917af466ca9c4b7477251ca79</id>
<content type='text'>
The addgetnetgrentX call in addinnetgrX may have failed to produce
a result, so the result variable in addinnetgrX can be NULL.
Use db-&gt;negtimeout as the fallback value if there is no result data;
the timeout is also overwritten below.

Also avoid sending a second not-found response.  (The client
disconnects after receiving the first response, so the data stream did
not go out of sync even without this fix.)  It is still beneficial to
add the negative response to the mapping, so that the client can get
it from there in the future, instead of going through the socket.

Reviewed-by: Siddhesh Poyarekar &lt;siddhesh@sourceware.org&gt;
(cherry picked from commit b048a482f088e53144d26a61c390bed0210f49f2)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The addgetnetgrentX call in addinnetgrX may have failed to produce
a result, so the result variable in addinnetgrX can be NULL.
Use db-&gt;negtimeout as the fallback value if there is no result data;
the timeout is also overwritten below.

Also avoid sending a second not-found response.  (The client
disconnects after receiving the first response, so the data stream did
not go out of sync even without this fix.)  It is still beneficial to
add the negative response to the mapping, so that the client can get
it from there in the future, instead of going through the socket.

Reviewed-by: Siddhesh Poyarekar &lt;siddhesh@sourceware.org&gt;
(cherry picked from commit b048a482f088e53144d26a61c390bed0210f49f2)
</pre>
</div>
</content>
</entry>
<entry>
<title>CVE-2024-33600: nscd: Do not send missing not-found response in addgetnetgrentX (bug 31678)</title>
<updated>2024-04-25T14:07:52+00:00</updated>
<author>
<name>Florian Weimer</name>
<email>fweimer@redhat.com</email>
</author>
<published>2024-04-25T13:01:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=f20a8d696b13c6261b52a6434899121f8b19d5a7'/>
<id>f20a8d696b13c6261b52a6434899121f8b19d5a7</id>
<content type='text'>
If we failed to add a not-found response to the cache, the dataset
point can be null, resulting in a null pointer dereference.

Reviewed-by: Siddhesh Poyarekar &lt;siddhesh@sourceware.org&gt;
(cherry picked from commit 7835b00dbce53c3c87bbbb1754a95fb5e58187aa)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we failed to add a not-found response to the cache, the dataset
point can be null, resulting in a null pointer dereference.

Reviewed-by: Siddhesh Poyarekar &lt;siddhesh@sourceware.org&gt;
(cherry picked from commit 7835b00dbce53c3c87bbbb1754a95fb5e58187aa)
</pre>
</div>
</content>
</entry>
<entry>
<title>CVE-2024-33599: nscd: Stack-based buffer overflow in netgroup cache (bug 31677)</title>
<updated>2024-04-25T14:07:52+00:00</updated>
<author>
<name>Florian Weimer</name>
<email>fweimer@redhat.com</email>
</author>
<published>2024-04-25T13:00:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/glibc.git/commit/?id=5c75001a96abcd50cbdb74df24c3f013188d076e'/>
<id>5c75001a96abcd50cbdb74df24c3f013188d076e</id>
<content type='text'>
Using alloca matches what other caches do.  The request length is
bounded by MAXKEYLEN.

Reviewed-by: Carlos O'Donell &lt;carlos@redhat.com&gt;
(cherry picked from commit 87801a8fd06db1d654eea3e4f7626ff476a9bdaa)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using alloca matches what other caches do.  The request length is
bounded by MAXKEYLEN.

Reviewed-by: Carlos O'Donell &lt;carlos@redhat.com&gt;
(cherry picked from commit 87801a8fd06db1d654eea3e4f7626ff476a9bdaa)
</pre>
</div>
</content>
</entry>
</feed>
