diff options
author | Stef Walter <stefw@collabora.co.uk> | 2011-12-15 13:38:41 +0100 |
---|---|---|
committer | Stef Walter <stefw@collabora.co.uk> | 2011-12-15 13:38:41 +0100 |
commit | d08d382f2a3a4d22b676f3787e8ad6f504947dd5 (patch) | |
tree | c547c61248ddb1de45685c2d52d4641c81b1cd02 /pkcs11/secret-store | |
parent | 7681245859ced6fe50b3d38e5978a5e8e295597d (diff) | |
parent | 45c20e1d2613b780dc3de7e4614ee37667092fb7 (diff) | |
download | gnome-keyring-d08d382f2a3a4d22b676f3787e8ad6f504947dd5.tar.gz |
Merge branch 'gnome-3-2'
Diffstat (limited to 'pkcs11/secret-store')
-rw-r--r-- | pkcs11/secret-store/gkm-secret-binary.c | 4 |
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); |