[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 01/11] cryptodev: Fix cryptodev_builtin_cleanup() error API viola
From: |
Markus Armbruster |
Subject: |
[PATCH 01/11] cryptodev: Fix cryptodev_builtin_cleanup() error API violation |
Date: |
Mon, 20 Apr 2020 10:32:26 +0200 |
The Error ** argument must be NULL, &error_abort, &error_fatal, or a
pointer to a variable containing NULL. Passing an argument of the
latter kind twice without clearing it in between is wrong: if the
first call sets an error, it no longer points to NULL for the second
call.
cryptodev_builtin_cleanup() passes @errp to
cryptodev_builtin_sym_close_session() in a loop. Harmless, because
cryptodev_builtin_sym_close_session() can't actually fail. Fix it
anyway.
Cc: Gonglei <address@hidden>
Signed-off-by: Markus Armbruster <address@hidden>
---
backends/cryptodev-builtin.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/backends/cryptodev-builtin.c b/backends/cryptodev-builtin.c
index c8ae3b9742..14316333fe 100644
--- a/backends/cryptodev-builtin.c
+++ b/backends/cryptodev-builtin.c
@@ -282,12 +282,7 @@ static int cryptodev_builtin_sym_close_session(
CryptoDevBackendBuiltin *builtin =
CRYPTODEV_BACKEND_BUILTIN(backend);
- if (session_id >= MAX_NUM_SESSIONS ||
- builtin->sessions[session_id] == NULL) {
- error_setg(errp, "Cannot find a valid session id: %" PRIu64 "",
- session_id);
- return -1;
- }
+ assert(session_id < MAX_NUM_SESSIONS && builtin->sessions[session_id]);
qcrypto_cipher_free(builtin->sessions[session_id]->cipher);
g_free(builtin->sessions[session_id]);
@@ -356,8 +351,7 @@ static void cryptodev_builtin_cleanup(
for (i = 0; i < MAX_NUM_SESSIONS; i++) {
if (builtin->sessions[i] != NULL) {
- cryptodev_builtin_sym_close_session(
- backend, i, 0, errp);
+ cryptodev_builtin_sym_close_session(backend, i, 0, &error_abort);
}
}
--
2.21.1
- [PATCH 03/11] cpus: Fix configure_icount() error API violation, (continued)
- [PATCH 03/11] cpus: Fix configure_icount() error API violation, Markus Armbruster, 2020/04/20
- [PATCH 06/11] fdc: Fix fallback=auto error handling, Markus Armbruster, 2020/04/20
- [PATCH 11/11] migration/colo: Fix qmp_xen_colo_do_checkpoint() error handling, Markus Armbruster, 2020/04/20
- [PATCH 05/11] arm/virt: Fix virt_machine_device_plug_cb() error API violation, Markus Armbruster, 2020/04/20
- [PATCH 10/11] io: Fix qio_channel_socket_close() error handling, Markus Armbruster, 2020/04/20
- [PATCH 01/11] cryptodev: Fix cryptodev_builtin_cleanup() error API violation,
Markus Armbruster <=
- [PATCH 02/11] block/file-posix: Fix check_cache_dropped() error handling, Markus Armbruster, 2020/04/20
- [PATCH 04/11] cpus: Proper range-checking for -icount shift=N, Markus Armbruster, 2020/04/20
- [PATCH 07/11] bochs-display: Fix vgamem=SIZE error handling, Markus Armbruster, 2020/04/20
- [PATCH 08/11] virtio-net: Fix duplex=... and speed=... error handling, Markus Armbruster, 2020/04/20
- [PATCH 09/11] xen/pt: Fix flawed conversion to realize(), Markus Armbruster, 2020/04/20
- Re: [PATCH 00/11] Miscellaneous error handling fixes, no-reply, 2020/04/20