1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-03-26 22:29:58 +01:00

* iobuf.c (block_filter): Properly handle a partial body stream that ends

with a 5-byte length that happens to be zero.
This commit is contained in:
David Shaw 2004-03-01 21:48:32 +00:00
parent e38ea662fa
commit 0a05d98b8b
2 changed files with 13 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2004-03-01 David Shaw <dshaw@jabberwocky.com>
* iobuf.c (block_filter): Properly handle a partial body stream
that ends with a 5-byte length that happens to be zero.
2004-02-28 David Shaw <dshaw@jabberwocky.com> 2004-02-28 David Shaw <dshaw@jabberwocky.com>
* unsetenv.c: Fixed debugging typo. * unsetenv.c: Fixed debugging typo.

View File

@ -1,5 +1,6 @@
/* iobuf.c - file handling /* iobuf.c - file handling
* Copyright (C) 1998, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. * Copyright (C) 1998, 1999, 2000, 2001, 2003,
* 2004 Free Software Foundation, Inc.
* *
* This file is part of GnuPG. * This file is part of GnuPG.
* *
@ -666,6 +667,12 @@ block_filter(void *opaque, int control, IOBUF chain, byte *buf, size_t *ret_len)
} }
a->size |= c; a->size |= c;
a->partial = 2; a->partial = 2;
if( !a->size ) {
a->eof = 1;
if( !n )
rc = -1;
break;
}
} }
else { /* next partial body length */ else { /* next partial body length */
a->size = 1 << (c & 0x1f); a->size = 1 << (c & 0x1f);