summaryrefslogtreecommitdiff
path: root/pkcs11/secret-store
diff options
context:
space:
mode:
authorStef Walter <stefw@collabora.co.uk>2011-12-15 13:38:41 +0100
committerStef Walter <stefw@collabora.co.uk>2011-12-15 13:38:41 +0100
commitd08d382f2a3a4d22b676f3787e8ad6f504947dd5 (patch)
treec547c61248ddb1de45685c2d52d4641c81b1cd02 /pkcs11/secret-store
parent7681245859ced6fe50b3d38e5978a5e8e295597d (diff)
parent45c20e1d2613b780dc3de7e4614ee37667092fb7 (diff)
downloadgnome-keyring-d08d382f2a3a4d22b676f3787e8ad6f504947dd5.tar.gz
Merge branch 'gnome-3-2'
Diffstat (limited to 'pkcs11/secret-store')
-rw-r--r--pkcs11/secret-store/gkm-secret-binary.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/pkcs11/secret-store/gkm-secret-binary.c b/pkcs11/secret-store/gkm-secret-binary.c
index 23f14766..b8dbef79 100644
--- a/pkcs11/secret-store/gkm-secret-binary.c
+++ b/pkcs11/secret-store/gkm-secret-binary.c
@@ -923,6 +923,10 @@ gkm_secret_binary_read (GkmSecretCollection *collection, GkmSecretData *sdata,
if (crypto_size % 16 != 0)
goto bail;
+ /* Ensure the file is large enough to hold all the data (in case it got truncated) */
+ if (buffer.len < offset + crypto_size)
+ goto bail;
+
/* Copy the data into to_decrypt into non-pageable memory */
egg_buffer_set_allocator (&to_decrypt, egg_secure_realloc);
egg_buffer_reserve (&to_decrypt, crypto_size);