* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).