diff options
author | edwin <edwin@FreeBSD.org> | 2006-01-04 20:03:33 +0800 |
---|---|---|
committer | edwin <edwin@FreeBSD.org> | 2006-01-04 20:03:33 +0800 |
commit | f8a45abe80a31cb6ddd361bad940f97d3908b928 (patch) | |
tree | c613475869a75a1f4f1434b01990b019cc811415 /converters/uulib | |
parent | 5560b7a046bdacc06bdba46aefdd803f398eb9f9 (diff) | |
download | freebsd-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.c | 22 |
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))) { |