couple of small bugs in hypermail-2b30

---------

From: Greg Shenaut (greg@bogslab.ucdavis.edu)
Date: Fri Mar 30 2001 - 14:25:44 CST


Sorry for not sending patches, but here are some fixes marked
with "BOGS".

First, in parse.c

parse.c-777- /* base64 decoding */
parse.c-778- int len;
parse.c-779- base64Decode(ptr, output, &len);
parse.c:780: output += len ; /* BOGS was len - 1 */
parse.c-781- }
parse.c-782- else {
parse.c-783- /* unsupported encoding type */

This caused the last character of rfc2047-encoded usernames to
be chopped off.

Second, in libcgi/form_ent.c

form_ent.c-162- int asize;
form_ent.c-163- int i;
form_ent.c-164- int c;
form_ent.c:165: int c1, c2; /* BOGS */
form_ent.c-166-
form_ent.c-167- while (isspace(c = getccl(stream, length)) || c == '&');
form_ent.c-168- if (c == EOF)

--
form_ent.c-183-	    fe->name[i] = ' ';
form_ent.c-184-	    break;
form_ent.c-185-	case '%':
form_ent.c:186:		c1 = getccl(stream, length);	/* BOGS */
form_ent.c:187:		c2 = getccl(stream, length);	/* BOGS */
form_ent.c:188:	    fe->name[i] = dd2c(c1, c2);	/* BOGS */
form_ent.c-189-	    break;
form_ent.c-190-	default:
form_ent.c-191-	    fe->name[i] = c;
--
form_ent.c-215-		    fe->val[i] = ' ';
form_ent.c-216-		    break;
form_ent.c-217-		case '%':
form_ent.c:218:			c1 = getccl(stream, length);	/* BOGS */
form_ent.c:219:			c2 = getccl(stream, length);	/* BOGS */
form_ent.c:220:	    	fe->val[i] = dd2c(c1, c2);	/* BOGS */
form_ent.c-221-		    break;
form_ent.c-222-		default:
form_ent.c-223-		    fe->val[i] = c;
The old code reversed the order of urlencoded bytes on my FreeBSD/gcc system.
Greg Shenaut

---------

This archive was generated by hypermail 2.1.5.