* Markus Armbruster (armbru@xxxxxxxxxx) wrote: > 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). > > Patch created mechanically with: > > $ spatch --in-place --sp-file scripts/coccinelle/use-g_new-etc.cocci \ > --macro-file scripts/cocci-macro-file.h FILES... > > Signed-off-by: Markus Armbruster <armbru@xxxxxxxxxx> Just a small patch then... > diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c > index d65e744af9..aace12a787 100644 > --- a/migration/dirtyrate.c > +++ b/migration/dirtyrate.c > @@ -91,7 +91,7 @@ static struct DirtyRateInfo *query_dirty_rate_info(void) > { > int i; > int64_t dirty_rate = DirtyStat.dirty_rate; > - struct DirtyRateInfo *info = g_malloc0(sizeof(DirtyRateInfo)); > + struct DirtyRateInfo *info = g_new0(DirtyRateInfo, 1); > DirtyRateVcpuList *head = NULL, **tail = &head; > > info->status = CalculatingState; > @@ -112,7 +112,7 @@ static struct DirtyRateInfo *query_dirty_rate_info(void) > info->sample_pages = 0; > info->has_vcpu_dirty_rate = true; > for (i = 0; i < DirtyStat.dirty_ring.nvcpu; i++) { > - DirtyRateVcpu *rate = g_malloc0(sizeof(DirtyRateVcpu)); > + DirtyRateVcpu *rate = g_new0(DirtyRateVcpu, 1); > rate->id = DirtyStat.dirty_ring.rates[i].id; > rate->dirty_rate = DirtyStat.dirty_ring.rates[i].dirty_rate; > QAPI_LIST_APPEND(tail, rate); > diff --git a/migration/multifd-zlib.c b/migration/multifd-zlib.c > index aba1c88a0c..3a7ae44485 100644 > --- a/migration/multifd-zlib.c > +++ b/migration/multifd-zlib.c > @@ -43,7 +43,7 @@ struct zlib_data { > */ > static int zlib_send_setup(MultiFDSendParams *p, Error **errp) > { > - struct zlib_data *z = g_malloc0(sizeof(struct zlib_data)); > + struct zlib_data *z = g_new0(struct zlib_data, 1); > z_stream *zs = &z->zs; > > zs->zalloc = Z_NULL; > @@ -164,7 +164,7 @@ static int zlib_send_prepare(MultiFDSendParams *p, Error **errp) > */ > static int zlib_recv_setup(MultiFDRecvParams *p, Error **errp) > { > - struct zlib_data *z = g_malloc0(sizeof(struct zlib_data)); > + struct zlib_data *z = g_new0(struct zlib_data, 1); > z_stream *zs = &z->zs; > > p->data = z; > diff --git a/migration/ram.c b/migration/ram.c > index 170e522a1f..3532f64ecb 100644 > --- a/migration/ram.c > +++ b/migration/ram.c > @@ -2059,7 +2059,7 @@ int ram_save_queue_pages(const char *rbname, ram_addr_t start, ram_addr_t len) > } > > struct RAMSrcPageRequest *new_entry = > - g_malloc0(sizeof(struct RAMSrcPageRequest)); > + g_new0(struct RAMSrcPageRequest, 1); > new_entry->rb = ramblock; > new_entry->offset = start; > new_entry->len = len; For migration: Acked-by: Dr. David Alan Gilbert <dgilbert@xxxxxxxxxx> -- Dr. David Alan Gilbert / dgilbert@xxxxxxxxxx / Manchester, UK