summary refs log tree commit diff
path: root/pkgs/servers/shishi/no-gets.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/servers/shishi/no-gets.patch')
-rw-r--r--pkgs/servers/shishi/no-gets.patch20
1 files changed, 20 insertions, 0 deletions
diff --git a/pkgs/servers/shishi/no-gets.patch b/pkgs/servers/shishi/no-gets.patch
new file mode 100644
index 000000000000..12137204f455
--- /dev/null
+++ b/pkgs/servers/shishi/no-gets.patch
@@ -0,0 +1,20 @@
+diff --git a/gl/stdio.in.h b/gl/stdio.in.h
+index 06d9780..fa04a10 100644
+--- a/gl/stdio.in.h
++++ b/gl/stdio.in.h
+@@ -713,10 +713,13 @@ _GL_CXXALIAS_SYS (gets, char *, (char *s));
+ # endif
+ _GL_CXXALIASWARN (gets);
+ /* 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.  */
++   so any use of gets warrants an unconditional warning; besides C11
++   removed it.  */
++#ifdef gets
++#undef gets
+ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+ #endif
++#endif
+ 
+ 
+ #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@