]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
grub: Fix compile error in gnulib with newer GCCs
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 27 Apr 2017 09:58:35 +0000 (10:58 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 18 May 2017 11:08:10 +0000 (12:08 +0100)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
lfs/grub
src/patches/grub2-remove-gets.patch [new file with mode: 0644]

index ba744087cf6b2ebb96b335f5aab5ca2b08a93f85..5e2238eb782a4063027f11f2959980c8365b7ce2 100644 (file)
--- a/lfs/grub
+++ b/lfs/grub
@@ -79,6 +79,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-2.00_disable_vga_fallback.patch
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub2-remove-gets.patch
        cd $(DIR_APP) && \
                ./configure \
                        --prefix=/usr \
diff --git a/src/patches/grub2-remove-gets.patch b/src/patches/grub2-remove-gets.patch
new file mode 100644 (file)
index 0000000..0da71b3
--- /dev/null
@@ -0,0 +1,21 @@
+ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Upstream-Status: Pending
+Index: grub-1.99/grub-core/gnulib/stdio.in.h
+===================================================================
+--- grub-1.99.orig/grub-core/gnulib/stdio.in.h 2010-12-01 06:45:43.000000000 -0800
++++ grub-1.99/grub-core/gnulib/stdio.in.h      2012-07-04 12:25:02.057099107 -0700
+@@ -140,8 +140,10 @@
+ /* 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.  */
++#if defined gets
+ #undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
++#endif
+ #if @GNULIB_FOPEN@
+ # if @REPLACE_FOPEN@