summaryrefslogtreecommitdiff
path: root/debian/patches/read-memleak.dpatch
blob: c0c9f8a353284db50e7add60f9176f27701b31ff (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
#! /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