aboutsummaryrefslogtreecommitdiffstats
path: root/fips/aes
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2011-11-02 19:17:30 +0000
committerDr. Stephen Henson <steve@openssl.org>2011-11-02 19:17:30 +0000
commit69569dd1684ec67ccf8f0a7007872ebbb7a724d5 (patch)
treefcc43ec245fd03498d2d72110d12db5dd62dd95f /fips/aes
parent12cc43782c06a4ad821328bbc4d3f79fc5fa2c88 (diff)
downloadopenssl-69569dd1684ec67ccf8f0a7007872ebbb7a724d5.tar.gz
Add support for memory leak checking in fips_algvs.
Fix many memory leaks in algorithm test utilities.
Diffstat (limited to 'fips/aes')
-rw-r--r--fips/aes/fips_aesavs.c3
-rw-r--r--fips/aes/fips_gcmtest.c6
2 files changed, 8 insertions, 1 deletions
diff --git a/fips/aes/fips_aesavs.c b/fips/aes/fips_aesavs.c
index 9a09964221..bbdb93aab9 100644
--- a/fips/aes/fips_aesavs.c
+++ b/fips/aes/fips_aesavs.c
@@ -535,7 +535,7 @@ static int do_mct(char *amode,
}
}
}
-
+ FIPS_cipher_ctx_cleanup(&ctx);
return ret;
}
@@ -850,6 +850,7 @@ static int proc_file(char *rqfile, char *rspfile)
fclose(rfp);
if (afp)
fclose(afp);
+ FIPS_cipher_ctx_cleanup(&ctx);
return err;
}
diff --git a/fips/aes/fips_gcmtest.c b/fips/aes/fips_gcmtest.c
index a7c787368a..02849bc2ab 100644
--- a/fips/aes/fips_gcmtest.c
+++ b/fips/aes/fips_gcmtest.c
@@ -261,6 +261,7 @@ static void gcmtest(FILE *in, FILE *out, int encrypt)
iv = aad = ct = pt = key = tag = NULL;
}
}
+ FIPS_cipher_ctx_cleanup(&ctx);
}
static void xtstest(FILE *in, FILE *out)
@@ -335,6 +336,7 @@ static void xtstest(FILE *in, FILE *out)
iv = key = inbuf = outbuf = NULL;
}
}
+ FIPS_cipher_ctx_cleanup(&ctx);
}
static void ccmtest(FILE *in, FILE *out)
@@ -428,6 +430,8 @@ static void ccmtest(FILE *in, FILE *out)
}
else if (!strcmp(keyword,"Adata"))
{
+ if (Adata)
+ OPENSSL_free(Adata);
Adata = hex2bin_m(value, &l);
if (Alen && l != Alen)
{
@@ -493,6 +497,8 @@ static void ccmtest(FILE *in, FILE *out)
OPENSSL_free(Key);
if (Nonce)
OPENSSL_free(Nonce);
+ if (Adata)
+ OPENSSL_free(Adata);
FIPS_cipher_ctx_cleanup(&ctx);
}