aboutsummaryrefslogtreecommitdiffstats
path: root/converters/uulib
diff options
context:
space:
mode:
authoredwin <edwin@FreeBSD.org>2006-01-04 20:03:33 +0800
committeredwin <edwin@FreeBSD.org>2006-01-04 20:03:33 +0800
commitf8a45abe80a31cb6ddd361bad940f97d3908b928 (patch)
treec613475869a75a1f4f1434b01990b019cc811415 /converters/uulib
parent5560b7a046bdacc06bdba46aefdd803f398eb9f9 (diff)
downloadfreebsd-ports-gnome-f8a45abe80a31cb6ddd361bad940f97d3908b928.tar.gz
freebsd-ports-gnome-f8a45abe80a31cb6ddd361bad940f97d3908b928.tar.zst
freebsd-ports-gnome-f8a45abe80a31cb6ddd361bad940f97d3908b928.zip
[patch] bug in the uulib-0.5.20
uudeview's author makes 1023 chars as maximum header line length (see line 167 of uulib/uuscan.c). Handling this limit in the ScanHeaderLine function may skip all header lines after very long splitted line because of finding CR in the truncated string (at ptr) instead of scan source stream (uugen_inbuffer). PR: ports/84999 Submitted by: Alexey Khlyamkov <bsd@prj.lll.pp.ru> Approved by: maintainer timeout
Diffstat (limited to 'converters/uulib')
-rw-r--r--converters/uulib/files/patch-uulib_uuscan.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/converters/uulib/files/patch-uulib_uuscan.c b/converters/uulib/files/patch-uulib_uuscan.c
new file mode 100644
index 000000000000..55bafa7aba46
--- /dev/null
+++ b/converters/uulib/files/patch-uulib_uuscan.c
@@ -0,0 +1,22 @@
+--- uulib/uuscan.c.orig Tue Mar 2 01:52:27 2004
++++ uulib/uuscan.c Sun Jul 3 16:50:37 2005
+@@ -251,8 +251,9 @@
+ /*
+ * see if line was terminated with CR. Otherwise, it continues ...
+ */
+- c = strlen (ptr);
+- if (c>0 && (ptr[c-1] == '\012' || ptr[c-1] == '\015'))
++ c = strlen (uugen_inbuffer);
++ if (c>0 &&
++ (uugen_inbuffer[c-1] == '\012' || uugen_inbuffer[c-1] == '\015'))
+ hadcr = 1;
+ else
+ hadcr = 0;
+@@ -261,6 +262,7 @@
+ * strip whitespace
+ */
+
++ c = strlen (ptr);
+ ptr += c;
+ llength += c;
+ while (llength && isspace(*(ptr-1))) {