aboutsummaryrefslogtreecommitdiff
path: root/hw/9pfs/9p.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2022-03-15 15:41:55 +0100
committerMarkus Armbruster <armbru@redhat.com>2022-03-21 15:44:44 +0100
commit1366244ab6d0c83bf0f90270e5bb608651a3cc8f (patch)
treee315609c3297e701b93bff8e7d5fd7bcaf3e94c5 /hw/9pfs/9p.c
parent15ba4a9f7ba592f2f1a0eb50b20f0ebd4412ab6e (diff)
downloadqemu-1366244ab6d0c83bf0f90270e5bb608651a3cc8f.zip
qemu-1366244ab6d0c83bf0f90270e5bb608651a3cc8f.tar.gz
qemu-1366244ab6d0c83bf0f90270e5bb608651a3cc8f.tar.bz2
9pfs: Use g_new() & friends where that makes obvious sense
g_new(T, n) is neater than g_malloc(sizeof(T) * n). It's also safer, for two reasons. One, it catches multiplication overflowing size_t. Two, it returns T * rather than void *, which lets the compiler catch more type errors. This commit only touches allocations with size arguments of the form sizeof(T). Initial patch created mechanically with: $ spatch --in-place --sp-file scripts/coccinelle/use-g_new-etc.cocci \ --macro-file scripts/cocci-macro-file.h FILES... This uncovers a typing error: ../hw/9pfs/9p.c: In function ‘qid_path_fullmap’: ../hw/9pfs/9p.c:855:13: error: assignment to ‘QpfEntry *’ from incompatible pointer type ‘QppEntry *’ [-Werror=incompatible-pointer-types] 855 | val = g_new0(QppEntry, 1); | ^ Harmless, because QppEntry is larger than QpfEntry. Manually fixed to allocate a QpfEntry instead. Cc: Greg Kurz <groug@kaod.org> Cc: Christian Schoenebeck <qemu_oss@crudebyte.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Greg Kurz <groug@kaod.org> Message-Id: <20220315144156.1595462-3-armbru@redhat.com>
Diffstat (limited to 'hw/9pfs/9p.c')
-rw-r--r--hw/9pfs/9p.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
index a6d6b3f..8e9d4ae 100644
--- a/hw/9pfs/9p.c
+++ b/hw/9pfs/9p.c
@@ -324,7 +324,7 @@ static V9fsFidState *alloc_fid(V9fsState *s, int32_t fid)
return NULL;
}
}
- f = g_malloc0(sizeof(V9fsFidState));
+ f = g_new0(V9fsFidState, 1);
f->fid = fid;
f->fid_type = P9_FID_NONE;
f->ref = 1;
@@ -804,7 +804,7 @@ static int qid_inode_prefix_hash_bits(V9fsPDU *pdu, dev_t dev)
val = qht_lookup(&pdu->s->qpd_table, &lookup, hash);
if (!val) {
- val = g_malloc0(sizeof(QpdEntry));
+ val = g_new0(QpdEntry, 1);
*val = lookup;
affix = affixForIndex(pdu->s->qp_affix_next);
val->prefix_bits = affix.bits;
@@ -852,7 +852,7 @@ static int qid_path_fullmap(V9fsPDU *pdu, const struct stat *stbuf,
return -ENFILE;
}
- val = g_malloc0(sizeof(QppEntry));
+ val = g_new0(QpfEntry, 1);
*val = lookup;
/* new unique inode and device combo */
@@ -928,7 +928,7 @@ static int qid_path_suffixmap(V9fsPDU *pdu, const struct stat *stbuf,
return -ENFILE;
}
- val = g_malloc0(sizeof(QppEntry));
+ val = g_new0(QppEntry, 1);
*val = lookup;
/* new unique inode affix and device combo */