util: 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). Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
parent
9be71be5bd
commit
e1cf558264
@ -373,7 +373,7 @@ void hbitmap_free(HBitmap *hb)
|
||||
|
||||
HBitmap *hbitmap_alloc(uint64_t size, int granularity)
|
||||
{
|
||||
HBitmap *hb = g_malloc0(sizeof (struct HBitmap));
|
||||
HBitmap *hb = g_new0(struct HBitmap, 1);
|
||||
unsigned i;
|
||||
|
||||
assert(granularity >= 0 && granularity < 64);
|
||||
@ -384,7 +384,7 @@ HBitmap *hbitmap_alloc(uint64_t size, int granularity)
|
||||
hb->granularity = granularity;
|
||||
for (i = HBITMAP_LEVELS; i-- > 0; ) {
|
||||
size = MAX((size + BITS_PER_LONG - 1) >> BITS_PER_LEVEL, 1);
|
||||
hb->levels[i] = g_malloc0(size * sizeof(unsigned long));
|
||||
hb->levels[i] = g_new0(unsigned long, size);
|
||||
}
|
||||
|
||||
/* We necessarily have free bits in level 0 due to the definition
|
||||
|
@ -253,7 +253,7 @@ unsigned iov_copy(struct iovec *dst_iov, unsigned int dst_iov_cnt,
|
||||
|
||||
void qemu_iovec_init(QEMUIOVector *qiov, int alloc_hint)
|
||||
{
|
||||
qiov->iov = g_malloc(alloc_hint * sizeof(struct iovec));
|
||||
qiov->iov = g_new(struct iovec, alloc_hint);
|
||||
qiov->niov = 0;
|
||||
qiov->nalloc = alloc_hint;
|
||||
qiov->size = 0;
|
||||
@ -277,7 +277,7 @@ void qemu_iovec_add(QEMUIOVector *qiov, void *base, size_t len)
|
||||
|
||||
if (qiov->niov == qiov->nalloc) {
|
||||
qiov->nalloc = 2 * qiov->nalloc + 1;
|
||||
qiov->iov = g_realloc(qiov->iov, qiov->nalloc * sizeof(struct iovec));
|
||||
qiov->iov = g_renew(struct iovec, qiov->iov, qiov->nalloc);
|
||||
}
|
||||
qiov->iov[qiov->niov].iov_base = base;
|
||||
qiov->iov[qiov->niov].iov_len = len;
|
||||
|
Loading…
Reference in New Issue
Block a user