diff options
-rw-r--r-- | g10/ChangeLog | 5 | ||||
-rw-r--r-- | g10/parse-packet.c | 12 |
2 files changed, 15 insertions, 2 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog index cbe1a182e..4df669496 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,8 @@ +2010-06-18 Werner Koch <[email protected]> + + * parse-packet.c (skip_packet, parse_gpg_control): Take care of + premature EOFs. Backport from trunk. + 2010-06-17 Werner Koch <[email protected]> * gpg.c (main): Use CAST5 as default s2k algo. The macro diff --git a/g10/parse-packet.c b/g10/parse-packet.c index 16ca7514f..bbd58085d 100644 --- a/g10/parse-packet.c +++ b/g10/parse-packet.c @@ -682,7 +682,11 @@ skip_packet( IOBUF inp, int pkttype, unsigned long pktlen, int partial ) else { for( ; pktlen; pktlen-- ) - dump_hex_line(iobuf_get(inp), &i); + { + dump_hex_line ((c=iobuf_get(inp)), &i); + if (c == -1) + break; + } } putc ('\n', listfp); return; @@ -2529,7 +2533,11 @@ parse_gpg_control (IOBUF inp, int pkttype, unsigned long pktlen, } else { for( ; pktlen; pktlen-- ) - dump_hex_line(iobuf_get(inp), &i); + { + dump_hex_line ((c=iobuf_get (inp)), &i); + if (c == -1) + break; + } } putc ('\n', listfp); } |