* [Qemu-devel] [PATCH 0/2] block: Pacify Coverity
@ 2018-06-26 8:05 Markus Armbruster
2018-06-26 8:05 ` [Qemu-devel] [PATCH 1/2] block-qdict: Pacify Coverity after commit f1b34a248e9 Markus Armbruster
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Markus Armbruster @ 2018-06-26 8:05 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-block, kwolf, mreitz
Markus Armbruster (2):
block-qdict: Pacify Coverity after commit f1b34a248e9
block/crypto: Pacify Coverity after commit f853465aacb
block/crypto.c | 4 ++--
qobject/block-qdict.c | 16 ++++++++--------
2 files changed, 10 insertions(+), 10 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] [PATCH 1/2] block-qdict: Pacify Coverity after commit f1b34a248e9
2018-06-26 8:05 [Qemu-devel] [PATCH 0/2] block: Pacify Coverity Markus Armbruster
@ 2018-06-26 8:05 ` Markus Armbruster
2018-06-26 8:05 ` [Qemu-devel] [PATCH 2/2] block/crypto: Pacify Coverity after commit f853465aacb Markus Armbruster
2018-06-26 8:19 ` [Qemu-devel] [PATCH 0/2] block: Pacify Coverity Kevin Wolf
2 siblings, 0 replies; 4+ messages in thread
From: Markus Armbruster @ 2018-06-26 8:05 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-block, kwolf, mreitz
Commit f1b34a248e9 replaced less-than-obvious test in
qdict_flatten_qdict() by the obvious one. Sadly, it made something
else non-obvious: the fact that @new_key passed to qdict_put_obj()
can't be null, because that depends on the function's precondition
(target == qdict) == !prefix.
Tweak the function some more to help Coverity and human readers alike.
Fixes: CID 1393620
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
qobject/block-qdict.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/qobject/block-qdict.c b/qobject/block-qdict.c
index 36129e7379..80c653013f 100644
--- a/qobject/block-qdict.c
+++ b/qobject/block-qdict.c
@@ -97,7 +97,7 @@ static void qdict_flatten_qdict(QDict *qdict, QDict *target, const char *prefix)
const QDictEntry *entry, *next;
QDict *dict_val;
QList *list_val;
- char *new_key;
+ char *key, *new_key;
entry = qdict_first(qdict);
@@ -106,10 +106,12 @@ static void qdict_flatten_qdict(QDict *qdict, QDict *target, const char *prefix)
value = qdict_entry_value(entry);
dict_val = qobject_to(QDict, value);
list_val = qobject_to(QList, value);
- new_key = NULL;
if (prefix) {
- new_key = g_strdup_printf("%s.%s", prefix, entry->key);
+ key = new_key = g_strdup_printf("%s.%s", prefix, entry->key);
+ } else {
+ key = entry->key;
+ new_key = NULL;
}
/*
@@ -125,19 +127,17 @@ static void qdict_flatten_qdict(QDict *qdict, QDict *target, const char *prefix)
* well advised not to modify them altogether.)
*/
if (dict_val && qdict_size(dict_val)) {
- qdict_flatten_qdict(dict_val, target,
- new_key ? new_key : entry->key);
+ qdict_flatten_qdict(dict_val, target, key);
if (target == qdict) {
qdict_del(qdict, entry->key);
}
} else if (list_val && !qlist_empty(list_val)) {
- qdict_flatten_qlist(list_val, target,
- new_key ? new_key : entry->key);
+ qdict_flatten_qlist(list_val, target, key);
if (target == qdict) {
qdict_del(qdict, entry->key);
}
} else if (target != qdict) {
- qdict_put_obj(target, new_key, qobject_ref(value));
+ qdict_put_obj(target, key, qobject_ref(value));
}
g_free(new_key);
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Qemu-devel] [PATCH 2/2] block/crypto: Pacify Coverity after commit f853465aacb
2018-06-26 8:05 [Qemu-devel] [PATCH 0/2] block: Pacify Coverity Markus Armbruster
2018-06-26 8:05 ` [Qemu-devel] [PATCH 1/2] block-qdict: Pacify Coverity after commit f1b34a248e9 Markus Armbruster
@ 2018-06-26 8:05 ` Markus Armbruster
2018-06-26 8:19 ` [Qemu-devel] [PATCH 0/2] block: Pacify Coverity Kevin Wolf
2 siblings, 0 replies; 4+ messages in thread
From: Markus Armbruster @ 2018-06-26 8:05 UTC (permalink / raw)
To: qemu-devel; +Cc: qemu-block, kwolf, mreitz
Coverity can't see that qobject_input_visitor_new_flat_confused()
returns non-null when it doesn't set @local_err. Check the return
value instead, like all the other callers do.
Fixes: CID 1393615
Fixes: CID 1393616
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
block/crypto.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/block/crypto.c b/block/crypto.c
index 82091c5f70..aaa8fb7530 100644
--- a/block/crypto.c
+++ b/block/crypto.c
@@ -160,7 +160,7 @@ block_crypto_open_opts_init(QCryptoBlockFormat format,
ret->format = format;
v = qobject_input_visitor_new_flat_confused(opts, &local_err);
- if (local_err) {
+ if (!v) {
goto out;
}
@@ -214,7 +214,7 @@ block_crypto_create_opts_init(QCryptoBlockFormat format,
ret->format = format;
v = qobject_input_visitor_new_flat_confused(opts, &local_err);
- if (local_err) {
+ if (!v) {
goto out;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] block: Pacify Coverity
2018-06-26 8:05 [Qemu-devel] [PATCH 0/2] block: Pacify Coverity Markus Armbruster
2018-06-26 8:05 ` [Qemu-devel] [PATCH 1/2] block-qdict: Pacify Coverity after commit f1b34a248e9 Markus Armbruster
2018-06-26 8:05 ` [Qemu-devel] [PATCH 2/2] block/crypto: Pacify Coverity after commit f853465aacb Markus Armbruster
@ 2018-06-26 8:19 ` Kevin Wolf
2 siblings, 0 replies; 4+ messages in thread
From: Kevin Wolf @ 2018-06-26 8:19 UTC (permalink / raw)
To: Markus Armbruster; +Cc: qemu-devel, qemu-block, mreitz
Am 26.06.2018 um 10:05 hat Markus Armbruster geschrieben:
> Markus Armbruster (2):
> block-qdict: Pacify Coverity after commit f1b34a248e9
> block/crypto: Pacify Coverity after commit f853465aacb
Thanks, applied to the block branch.
Kevin
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-06-26 8:19 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-26 8:05 [Qemu-devel] [PATCH 0/2] block: Pacify Coverity Markus Armbruster
2018-06-26 8:05 ` [Qemu-devel] [PATCH 1/2] block-qdict: Pacify Coverity after commit f1b34a248e9 Markus Armbruster
2018-06-26 8:05 ` [Qemu-devel] [PATCH 2/2] block/crypto: Pacify Coverity after commit f853465aacb Markus Armbruster
2018-06-26 8:19 ` [Qemu-devel] [PATCH 0/2] block: Pacify Coverity Kevin Wolf
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.