aboutsummaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/tlv-parser.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/common/tlv-parser.c b/common/tlv-parser.c
index bc22c4f4f..2cafac3e9 100644
--- a/common/tlv-parser.c
+++ b/common/tlv-parser.c
@@ -556,10 +556,7 @@ tlv_expect_octet_string (tlv_parser_t tlv, int encapsulates,
&& (!tlv->ti.is_constructed || encapsulates)))
return (tlv->lasterr = gpg_error (GPG_ERR_INV_OBJ));
p = tlv->buffer;
- n = tlv->ti.length;
- if (!n && tlv->ti.ndef)
- n = tlv->bufsize;
- else if (!tlv->ti.length)
+ if (!(n=tlv->ti.length) && !tlv->ti.ndef)
return (tlv->lasterr = gpg_error (GPG_ERR_TOO_SHORT));
if (encapsulates && tlv->ti.is_constructed