summaryrefslogtreecommitdiff
path: root/debian/patches/read-memleak.dpatch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/read-memleak.dpatch')
-rwxr-xr-xdebian/patches/read-memleak.dpatch29
1 files changed, 29 insertions, 0 deletions
diff --git a/debian/patches/read-memleak.dpatch b/debian/patches/read-memleak.dpatch
new file mode 100755
index 0000000..c0c9f8a
--- /dev/null
+++ b/debian/patches/read-memleak.dpatch
@@ -0,0 +1,29 @@
+#! /bin/sh -e
+
+if [ $# -eq 3 -a "$2" = '-d' ]; then
+ pdir="-d $3"
+elif [ $# -ne 1 ]; then
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+fi
+case "$1" in
+ -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
+ -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
+ *)
+ echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+ exit 1
+esac
+exit 0
+
+# DP: Fix read memleak when reading from non-blocking fd.
+
+--- builtins/read.def.orig 2005-08-21 03:46:19.000000000 +0200
++++ builtins/read.def 2006-03-03 23:43:37.889187600 +0100
+@@ -472,6 +472,7 @@
+ if (retval < 0)
+ {
+ builtin_error (_("read error: %d: %s"), fd, strerror (errno));
++ run_unwind_frame ("read_builtin");
+ return (EXECUTION_FAILURE);
+ }
+ #endif