openbsd-ports/net/silc-server/patches/patch-lib_silcutil_silcconfig_c
sthen 2c3aea7ddc SECURITY update: fixes possible buffer overflow in PKCS#1 message decoding.
Version update 1.0 -> 1.1 as tested by several people.
2008-03-22 23:06:50 +00:00

43 lines
1.5 KiB
Plaintext

$OpenBSD: patch-lib_silcutil_silcconfig_c,v 1.4 2008/03/22 23:06:50 sthen Exp $
--- lib/silcutil/silcconfig.c.orig Sun Sep 9 11:04:15 2007
+++ lib/silcutil/silcconfig.c Fri Feb 29 23:46:17 2008
@@ -95,7 +95,7 @@ char *silc_config_strerror(int errnum)
/* Points the first non-space character */
static void my_trim_spaces(SilcConfigFile *file)
{
- register char *r = file->p;
+ signed char *r = file->p;
while ((*r != '\0' && *r != EOF) && isspace((int)*r))
if (*r++ == '\n') file->line++;
file->p = r;
@@ -104,7 +104,7 @@ static void my_trim_spaces(SilcConfigFile *file)
/* Skips the current line until newline (lf or cr) */
static void my_skip_line(SilcConfigFile *file)
{
- register char *r = file->p;
+ signed char *r = file->p;
while ((*r != '\0' && *r != EOF) && (*r != '\n') && (*r != '\r')) r++;
file->p = ((*r != '\0' && *r != EOF) ? r + 1 : r);
file->line++;
@@ -336,9 +336,9 @@ SilcUInt32 silc_config_get_line(SilcConfigFile *file)
char *silc_config_read_line(SilcConfigFile *file, SilcUInt32 line)
{
- register char *p;
+ signed char *p;
int len;
- char *ret = NULL, *endbuf;
+ signed char *ret = NULL, *endbuf;
if (!file || (line <= 0))
return NULL;
@@ -461,7 +461,7 @@ SilcBool silc_config_register_table(SilcConfigEntity e
static int silc_config_main_internal(SilcConfigEntity ent)
{
SilcConfigFile *file = ent->file;
- char **p = &file->p;
+ signed char **p = &file->p;
/* loop throught statements */
while (1) {