diff --git a/g10/ChangeLog b/g10/ChangeLog index 5419e08b3..6b421df41 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,8 @@ +2010-06-18 Werner Koch + + * parse-packet.c (skip_packet, parse_gpg_control): Take care of + premature EOFs. Backport from trunk. + 2010-06-01 Werner Koch * gpg.c (main): Add dummy option --debug-level and ignore diff --git a/g10/parse-packet.c b/g10/parse-packet.c index 60ca8af72..4b0fd1c2b 100644 --- a/g10/parse-packet.c +++ b/g10/parse-packet.c @@ -622,7 +622,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; @@ -2441,7 +2445,11 @@ parse_gpg_control( IOBUF inp, int pkttype, } 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); }