From 2419a47a52c8554a8db00b1cbd38771b621232bb Mon Sep 17 00:00:00 2001 From: Sam Hartman Date: Thu, 4 Apr 2002 22:17:44 +0000 Subject: [PATCH] Patch from Mark Eichin for bug 635 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14347 dc483132-0cff-0310-8789-dd5450dbe970 --- src/appl/gssftp/ftp/ChangeLog | 5 +++++ src/appl/gssftp/ftp/radix.c | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/appl/gssftp/ftp/ChangeLog b/src/appl/gssftp/ftp/ChangeLog index 21a1d2832..0cf21a989 100644 --- a/src/appl/gssftp/ftp/ChangeLog +++ b/src/appl/gssftp/ftp/ChangeLog @@ -1,3 +1,8 @@ +2002-04-04 Sam Hartman + + * radix.c (decode;): Patch from Mark Eichin for one char buffer overflow [635] + + 2002-03-05 Ken Raeburn * cmds.c (unix): Define if BSD is defined. diff --git a/src/appl/gssftp/ftp/radix.c b/src/appl/gssftp/ftp/radix.c index 2d573b4be..c989962c2 100644 --- a/src/appl/gssftp/ftp/radix.c +++ b/src/appl/gssftp/ftp/radix.c @@ -23,18 +23,18 @@ int *len, decode; D = p - radixN; switch (i&3) { case 0: - outbuf[j] = D<<2; + c = D<<2; break; case 1: - outbuf[j++] |= D>>4; - outbuf[j] = (D&15)<<4; + outbuf[j++] = c | D>>4; + c = (D&15)<<4; break; case 2: - outbuf[j++] |= D>>2; - outbuf[j] = (D&3)<<6; + outbuf[j++] = c | D>>2; + c = (D&3)<<6; break; case 3: - outbuf[j++] |= D; + outbuf[j++] = c | D; } } switch (i&3) { -- 2.26.2