diff options
author | Werner Koch <wk@gnupg.org> | 2008-04-22 10:25:35 +0000 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2008-04-22 10:25:35 +0000 |
commit | c9a31c6d9334def7502bfd76f9953c89b0df51b7 (patch) | |
tree | 601b7280f1db4e816976994568796b224d4faf0c /tests/basic.c | |
parent | 8559c656de0c2de6013c7d705bc8fe175a6a7abb (diff) | |
download | libgcrypt-c9a31c6d9334def7502bfd76f9953c89b0df51b7.tar.gz |
Preapring a release candidate
Diffstat (limited to 'tests/basic.c')
-rw-r--r-- | tests/basic.c | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/tests/basic.c b/tests/basic.c index abaebfee..3132e5d4 100644 --- a/tests/basic.c +++ b/tests/basic.c @@ -945,10 +945,39 @@ check_one_cipher (int algo, int mode, int flags) return; } - gcry_cipher_close (hd); - if (memcmp (plain, in, 16)) fail ("algo %d, mode %d, encrypt-decrypt mismatch\n", algo, mode); + + /* Again, using in-place encryption. */ + gcry_cipher_reset (hd); + + memcpy (out, plain, 16); + err = gcry_cipher_encrypt (hd, out, 16, NULL, 0); + if (err) + { + fail ("algo %d, mode %d, in-place, gcry_cipher_encrypt failed: %s\n", + algo, mode, gpg_strerror (err)); + gcry_cipher_close (hd); + return; + } + + gcry_cipher_reset (hd); + + err = gcry_cipher_decrypt (hd, out, 16, NULL, 0); + if (err) + { + fail ("algo %d, mode %d, in-place, gcry_cipher_decrypt failed: %s\n", + algo, mode, gpg_strerror (err)); + gcry_cipher_close (hd); + return; + } + + if (memcmp (plain, out, 16)) + fail ("algo %d, mode %d, in-place, encrypt-decrypt mismatch\n",algo, mode); + + + gcry_cipher_close (hd); + } @@ -1263,7 +1292,7 @@ check_digests (void) if (verbose) fprintf (stderr, "Starting hash checks.\n"); - for (i = 0; i < 1 && algos[i].md; i++) + for (i = 0; algos[i].md; i++) { if (verbose) fprintf (stderr, " checking %s [%i] for length %zi\n", |