aboutsummaryrefslogtreecommitdiffstats
path: root/sm/minip12.c
diff options
context:
space:
mode:
Diffstat (limited to 'sm/minip12.c')
-rw-r--r--sm/minip12.c41
1 files changed, 22 insertions, 19 deletions
diff --git a/sm/minip12.c b/sm/minip12.c
index 2e7b50e1c..84a5f423c 100644
--- a/sm/minip12.c
+++ b/sm/minip12.c
@@ -1945,43 +1945,46 @@ p12_parse (const unsigned char *buffer, size_t length, const char *pw,
}
where = "pfx";
- if (tlv_next (tlv))
+ if ((err = tlv_next (tlv)))
goto bailout;
- if (tlv_expect_sequence (tlv))
+ if ((err = tlv_expect_sequence (tlv)))
goto bailout;
where = "pfxVersion";
- if (tlv_next (tlv))
+ if ((err = tlv_next (tlv)))
goto bailout;
- if (tlv_expect_integer (tlv, &intval) || intval != 3)
+ if ((err = tlv_expect_integer (tlv, &intval)) || intval != 3)
goto bailout;
where = "authSave";
- if (tlv_next (tlv))
+ if ((err = tlv_next (tlv)))
goto bailout;
- if (tlv_expect_sequence (tlv))
+ if ((err = tlv_expect_sequence (tlv)))
goto bailout;
- if (tlv_next (tlv))
+ if ((err = tlv_next (tlv)))
goto bailout;
- if (tlv_expect_object_id (tlv, &oid, &oidlen))
+ if ((err = tlv_expect_object_id (tlv, &oid, &oidlen)))
goto bailout;
if (oidlen != DIM(oid_data) || memcmp (oid, oid_data, DIM(oid_data)))
- goto bailout;
+ {
+ err = gpg_error (GPG_ERR_INV_OBJ);
+ goto bailout;
+ }
- if (tlv_next (tlv))
+ if ((err = tlv_next (tlv)))
goto bailout;
- if (tlv_expect_context_tag (tlv, &intval) || intval != 0 )
+ if ((err = tlv_expect_context_tag (tlv, &intval)) || intval != 0 )
goto bailout;
- if (tlv_next (tlv))
+ if ((err = tlv_next (tlv)))
goto bailout;
- if (tlv_expect_octet_string (tlv, 1, NULL, NULL))
+ if ((err = tlv_expect_octet_string (tlv, 1, NULL, NULL)))
goto bailout;
if (tlv_peek (tlv, CLASS_UNIVERSAL, TAG_OCTET_STRING))
{
- if (tlv_next (tlv))
+ if ((err = tlv_next (tlv)))
goto bailout;
err = tlv_expect_octet_string (tlv, 1, NULL, NULL);
if (err)
@@ -1989,9 +1992,9 @@ p12_parse (const unsigned char *buffer, size_t length, const char *pw,
}
where = "bags";
- if (tlv_next (tlv))
+ if ((err = tlv_next (tlv)))
goto bailout;
- if (tlv_expect_sequence (tlv))
+ if ((err = tlv_expect_sequence (tlv)))
goto bailout;
startlevel = tlv_parser_level (tlv);
@@ -2000,12 +2003,12 @@ p12_parse (const unsigned char *buffer, size_t length, const char *pw,
{
where = "bag-sequence";
tlv_parser_dump_state (where, NULL, tlv);
- if (tlv_expect_sequence (tlv))
+ if ((err = tlv_expect_sequence (tlv)))
goto bailout;
- if (tlv_next (tlv))
+ if ((err = tlv_next (tlv)))
goto bailout;
- if (tlv_expect_object_id (tlv, &oid, &oidlen))
+ if ((err = tlv_expect_object_id (tlv, &oid, &oidlen)))
goto bailout;
if (oidlen == DIM(oid_encryptedData)