diff options
author | Werner Koch <[email protected]> | 2010-06-18 08:08:21 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2010-06-18 08:08:21 +0000 |
commit | 5474061365b63b05f8b5b6701e4ff0dfbcbf1c80 (patch) | |
tree | b1569b62074bbed25cae2d9831de15c3d3f4373a | |
parent | Fix bug 1231. (diff) | |
download | gnupg-5474061365b63b05f8b5b6701e4ff0dfbcbf1c80.tar.gz gnupg-5474061365b63b05f8b5b6701e4ff0dfbcbf1c80.zip |
Backport bug fix. Fixes bug#1240.
-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 5419e08b3..6b421df41 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-01 Werner Koch <[email protected]> * 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); } |