diff options
author | Michael Januszewski <spock@gentoo.org> | 2005-02-06 21:34:10 +0000 |
---|---|---|
committer | Michael Januszewski <spock@gentoo.org> | 2005-02-06 21:34:10 +0000 |
commit | 076d990d2f7341317c2e6786fcf103f8d5ec2df5 (patch) | |
tree | ca4f4a66ca682fa20553f6383755994f03dd8c9d /x11-terms/aterm/files | |
parent | merge fixes from older ebuilds (diff) | |
download | historical-076d990d2f7341317c2e6786fcf103f8d5ec2df5.tar.gz historical-076d990d2f7341317c2e6786fcf103f8d5ec2df5.tar.bz2 historical-076d990d2f7341317c2e6786fcf103f8d5ec2df5.zip |
Added a fix for bug #75604.
Package-Manager: portage-2.0.51.16
Diffstat (limited to 'x11-terms/aterm/files')
-rw-r--r-- | x11-terms/aterm/files/aterm-0.4.2-scroll-double-free.patch | 61 | ||||
-rw-r--r-- | x11-terms/aterm/files/digest-aterm-0.4.2-r12 | 1 |
2 files changed, 62 insertions, 0 deletions
diff --git a/x11-terms/aterm/files/aterm-0.4.2-scroll-double-free.patch b/x11-terms/aterm/files/aterm-0.4.2-scroll-double-free.patch new file mode 100644 index 000000000000..997de5962424 --- /dev/null +++ b/x11-terms/aterm/files/aterm-0.4.2-scroll-double-free.patch @@ -0,0 +1,61 @@ +diff -Naur aterm-0.4.2-orig/src/screen.c aterm-0.4.2/src/screen.c +--- aterm-0.4.2-orig/src/screen.c 2005-02-06 22:15:49.000000000 +0100 ++++ aterm-0.4.2/src/screen.c 2005-02-06 22:16:58.000000000 +0100 +@@ -448,6 +448,8 @@ + for (i = 0; i < total_rows; i++) { + if (screen.text[i]) { /* then so is screen.rend[i] */ + FREE(screen.text[i]); ++ } ++ if (screen.rend[i]) { + FREE(screen.rend[i]); + } + } +@@ -784,6 +786,8 @@ + if (count > 0) { + /* A: scroll up */ + ++ void *t; ++ + MIN_IT(count, row2 - row1 + 1); + /* A1: Copy lines that will get clobbered by the rotation */ + for (i = 0, j = row1; i < count; i++, j++) { +@@ -793,9 +797,13 @@ + } + /* A2: Rotate lines */ + for (j = row1; (j + count) <= row2; j++) { +- screen.text[j] = screen.text[j + count]; ++ t = screen.text[j + count]; ++ screen.text[j + count] = NULL; ++ screen.text[j] = t; + screen.tlen[j] = screen.tlen[j + count]; +- screen.rend[j] = screen.rend[j + count]; ++ t = screen.rend[j + count]; ++ screen.rend[j + count] = NULL; ++ screen.rend[j] = t; + } + /* A3: Resurrect lines */ + for (i = 0; i < count; i++, j++) { +@@ -805,6 +813,7 @@ + } + } else if (count < 0) { + /* B: scroll down */ ++ void *t; + + count = min(-count, row2 - row1 + 1); + /* B1: Copy lines that will get clobbered by the rotation */ +@@ -815,9 +824,13 @@ + } + /* B2: Rotate lines */ + for (j = row2; (j - count) >= row1; j--) { +- screen.text[j] = screen.text[j - count]; ++ t = screen.text[j - count]; ++ screen.text[j - count] = NULL; ++ screen.text[j] = t; + screen.tlen[j] = screen.tlen[j - count]; +- screen.rend[j] = screen.rend[j - count]; ++ t = screen.rend[j - count]; ++ screen.rend[j - count] = NULL; ++ screen.rend[j] = t; + } + /* B3: Resurrect lines */ + for (i = 0, j = row1; i < count; i++, j++) { diff --git a/x11-terms/aterm/files/digest-aterm-0.4.2-r12 b/x11-terms/aterm/files/digest-aterm-0.4.2-r12 new file mode 100644 index 000000000000..5cf11a8573c5 --- /dev/null +++ b/x11-terms/aterm/files/digest-aterm-0.4.2-r12 @@ -0,0 +1 @@ +MD5 5c29d0cde4225bdbd63ccb6a4dd94c56 aterm-0.4.2.tar.bz2 243419 |