]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
stdlib: Improve tst-realpath compatibility with source fortification
authorFlorian Weimer <fweimer@redhat.com>
Tue, 1 Aug 2023 08:27:15 +0000 (10:27 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Tue, 1 Aug 2023 08:27:15 +0000 (10:27 +0200)
On GCC before 11, IPA can make the fortified realpath aware that the
buffer size is not large enough (8 bytes instead of PATH_MAX bytes).
Fix this by using a buffer that is large enough.

stdlib/tst-realpath.c

index f325c95a44896f524188c2b293f776ed75c2b15a..3694ecd8af32687cbc6172e7bef6af95bbf671ee 100644 (file)
@@ -24,6 +24,7 @@
    License along with the GNU C Library; if not, see
    <https://www.gnu.org/licenses/>.  */
 
+#include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <malloc.h>
@@ -50,7 +51,11 @@ void dealloc (void *p)
 
 char* alloc (void)
 {
-  return (char *)malloc (8);
+#ifdef PATH_MAX
+  return (char *)malloc (PATH_MAX);
+#else
+  return (char *)malloc (4096);
+#endif
 }
 
 static int