aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/grub-gets-undeclared.patch
blob: 41dddbd9d0f72f2b5b35f124d3c1a1b18d2bb7fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
This patch is needed to allow builds with newer versions of
the GNU libc (2.16+).


commit 66712c23388e93e5c518ebc8515140fa0c807348
Author: Eric Blake <eblake@redhat.com>
Date:   Thu Mar 29 13:30:41 2012 -0600

    stdio: don't assume gets any more
    
    Gnulib intentionally does not have a gets module, and now that C11
    and glibc have dropped it, we should be more proactive about warning
    any user on a platform that still has a declaration of this dangerous
    interface.
    
    * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
    support.
    * modules/stdio (Makefile.am): Likewise.
    * lib/stdio-read.c (gets): Likewise.
    * tests/test-stdio-c++.cc: Likewise.
    * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
    * lib/stdio.in.h (gets): Make warning occur in more places.
    * doc/posix-functions/gets.texi (gets): Update documentation.
    Reported by Christer Solskogen.
    
    Signed-off-by: Eric Blake <eblake@redhat.com>

--- grub-2.00/grub-core/gnulib/stdio.in.h	2013-02-10 16:17:09.000000000 +0100
+++ grub-2.00/grub-core/gnulib/stdio.in.h	2013-02-10 16:17:11.000000000 +0100
@@ -137,12 +137,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not
                  "use gnulib module fflush for portable POSIX compliance");
 #endif
 
-/* It is very rare that the developer ever has full control of stdin,
-   so any use of gets warrants an unconditional warning.  Assume it is
-   always declared, since it is required by C89.  */
-#undef gets
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-
 #if @GNULIB_FOPEN@
 # if @REPLACE_FOPEN@
 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)