summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/shells/rush/default.nix2
-rw-r--r--pkgs/shells/rush/gets.patch13
2 files changed, 15 insertions, 0 deletions
diff --git a/pkgs/shells/rush/default.nix b/pkgs/shells/rush/default.nix
index 1e1904a29a5a..e9d0c61ee081 100644
--- a/pkgs/shells/rush/default.nix
+++ b/pkgs/shells/rush/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0fh0gbbp0iiq3wbkf503xb40r8ljk42vyj9bnlflbz82d6ipy1rm";
   };
 
+  patches = [ ./gets.patch ];
+
   doCheck = true;
 
   meta = {
diff --git a/pkgs/shells/rush/gets.patch b/pkgs/shells/rush/gets.patch
new file mode 100644
index 000000000000..94b1f5dd2f51
--- /dev/null
+++ b/pkgs/shells/rush/gets.patch
@@ -0,0 +1,13 @@
+--- rush-1.7/gnu/stdio.in.h.org	2010-06-13 19:14:59.000000000 +0200
++++ rush-1.7/gnu/stdio.in.h	2013-12-30 14:29:55.000000000 +0100
+@@ -138,8 +138,10 @@ _GL_WARN_ON_USE (fflush, "fflush is not
+ /* 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@