aboutsummaryrefslogtreecommitdiffstats
path: root/g10/armor.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/armor.c')
-rw-r--r--g10/armor.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/g10/armor.c b/g10/armor.c
index 91eb55198..78656bae9 100644
--- a/g10/armor.c
+++ b/g10/armor.c
@@ -405,10 +405,11 @@ find_header( fhdr_state_t state, byte *buf, size_t *r_buflen,
c = 0;
for(n=0; n < buflen && (c=iobuf_get(a)) != -1 && c != '\n'; )
buf[n++] = c;
- if( n < buflen || c == '\n' ) {
- buf[n] = 0;
+ if( c != -1 ) {
if( n > 15 && !memcmp(buf, "-----", 5 ) )
state = fhdrNullClearsig;
+ else if( c != '\n' )
+ state = fhdrREADClearsigNext;
else
state = fhdrCHECKDashEscaped3;
}
@@ -693,6 +694,7 @@ check_input( armor_filter_context_t *afx, IOBUF a )
case fhdrNullClearsig:
case fhdrCLEARSIG: /* start fake package mode (for clear signatures) */
+ case fhdrREADClearsigNext:
case fhdrCLEARSIGSimple:
case fhdrCLEARSIGSimpleNext:
afx->helplen = n;