mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
crypto: Move cipher->driver init to qcrypto_*_cipher_ctx_new
The class vtable should be set by the class initializer. This will also allow additional subclassing, reducing the amount of indirection in the hierarchy. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
3eedf5cc9d
commit
da30cd77e1
6 changed files with 13 additions and 10 deletions
|
@ -164,13 +164,9 @@ QCryptoCipher *qcrypto_cipher_new(QCryptoCipherAlgorithm alg,
|
|||
Error **errp)
|
||||
{
|
||||
QCryptoCipher *cipher = NULL;
|
||||
const QCryptoCipherDriver *drv = NULL;
|
||||
|
||||
#ifdef CONFIG_AF_ALG
|
||||
cipher = qcrypto_afalg_cipher_ctx_new(alg, mode, key, nkey, NULL);
|
||||
if (cipher) {
|
||||
drv = &qcrypto_cipher_afalg_driver;
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!cipher) {
|
||||
|
@ -178,13 +174,10 @@ QCryptoCipher *qcrypto_cipher_new(QCryptoCipherAlgorithm alg,
|
|||
if (!cipher) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
drv = &qcrypto_cipher_lib_driver;
|
||||
}
|
||||
|
||||
cipher->alg = alg;
|
||||
cipher->mode = mode;
|
||||
cipher->driver = drv;
|
||||
|
||||
return cipher;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue