diff options
author | Kurt Roeckx <kurt@roeckx.be> | 2016-05-23 23:09:33 +0200 |
---|---|---|
committer | Kurt Roeckx <kurt@roeckx.be> | 2016-05-24 21:33:02 +0200 |
commit | 73b61c7e14115ae98c174bfdd7c7733d6cc7e909 (patch) | |
tree | 2a8860980e4ff132e9ffd249b4692c9903c617d7 /crypto | |
parent | GH919: Fix wrappers for two headers (diff) | |
download | openssl-73b61c7e14115ae98c174bfdd7c7733d6cc7e909.tar.xz openssl-73b61c7e14115ae98c174bfdd7c7733d6cc7e909.zip |
Avoid creating an illegal pointer
Found by tis-interpreter
Reviewed-by: Richard Levitte <levitte@openssl.org>
GH: #1115
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/asn1/tasn_fre.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/crypto/asn1/tasn_fre.c b/crypto/asn1/tasn_fre.c index 147168090a..9b623d907c 100644 --- a/crypto/asn1/tasn_fre.c +++ b/crypto/asn1/tasn_fre.c @@ -102,9 +102,11 @@ static void asn1_item_embed_free(ASN1_VALUE **pval, const ASN1_ITEM *it, * field and we wont be able to determine the type of the field it * defines. So free up in reverse order. */ - tt = it->templates + it->tcount - 1; - for (i = 0; i < it->tcount; tt--, i++) { + tt = it->templates + it->tcount; + for (i = 0; i < it->tcount; i++) { ASN1_VALUE **pseqval; + + tt--; seqtt = asn1_do_adb(pval, tt, 0); if (!seqtt) continue; |