c9d4bd35c0
Fix for CVE 2009-4016
51 lines
1.1 KiB
Text
51 lines
1.1 KiB
Text
$NetBSD: patch-ai,v 1.1 2010/02/04 20:14:01 adrianp Exp $
|
|
|
|
--- src/irc_string.c.orig 2007-02-28 04:17:46.000000000 +0000
|
|
+++ src/irc_string.c
|
|
@@ -70,46 +70,6 @@ myctime(time_t value)
|
|
}
|
|
|
|
/*
|
|
- * clean_string - clean up a string possibly containing garbage
|
|
- *
|
|
- * *sigh* Before the kiddies find this new and exciting way of
|
|
- * annoying opers, lets clean up what is sent to local opers
|
|
- * -Dianora
|
|
- */
|
|
-char *
|
|
-clean_string(char* dest, const unsigned char* src, size_t len)
|
|
-{
|
|
- char* d = dest;
|
|
- assert(0 != dest);
|
|
- assert(0 != src);
|
|
-
|
|
- if(dest == NULL || src == NULL)
|
|
- return NULL;
|
|
-
|
|
- len -= 3; /* allow for worst case, '^A\0' */
|
|
-
|
|
- while (*src && (len > 0))
|
|
- {
|
|
- if (*src & 0x80) /* if high bit is set */
|
|
- {
|
|
- *d++ = '.';
|
|
- --len;
|
|
- }
|
|
- else if (!IsPrint(*src)) /* if NOT printable */
|
|
- {
|
|
- *d++ = '^';
|
|
- --len;
|
|
- *d++ = 0x40 + *src; /* turn it into a printable */
|
|
- }
|
|
- else
|
|
- *d++ = *src;
|
|
- ++src, --len;
|
|
- }
|
|
- *d = '\0';
|
|
- return dest;
|
|
-}
|
|
-
|
|
-/*
|
|
* strip_tabs(dst, src, length)
|
|
*
|
|
* Copies src to dst, while converting all \t (tabs) into spaces.
|