diff options
-rw-r--r-- | kernel/gcov/gcc_3_4.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/kernel/gcov/gcc_3_4.c b/kernel/gcov/gcc_3_4.c index 1e32e66c9563..2dddecbdbe6e 100644 --- a/kernel/gcov/gcc_3_4.c +++ b/kernel/gcov/gcc_3_4.c | |||
@@ -245,8 +245,7 @@ struct gcov_info *gcov_info_dup(struct gcov_info *info) | |||
245 | 245 | ||
246 | /* Duplicate gcov_info. */ | 246 | /* Duplicate gcov_info. */ |
247 | active = num_counter_active(info); | 247 | active = num_counter_active(info); |
248 | dup = kzalloc(sizeof(struct gcov_info) + | 248 | dup = kzalloc(struct_size(dup, counts, active), GFP_KERNEL); |
249 | sizeof(struct gcov_ctr_info) * active, GFP_KERNEL); | ||
250 | if (!dup) | 249 | if (!dup) |
251 | return NULL; | 250 | return NULL; |
252 | dup->version = info->version; | 251 | dup->version = info->version; |
@@ -364,8 +363,7 @@ struct gcov_iterator *gcov_iter_new(struct gcov_info *info) | |||
364 | { | 363 | { |
365 | struct gcov_iterator *iter; | 364 | struct gcov_iterator *iter; |
366 | 365 | ||
367 | iter = kzalloc(sizeof(struct gcov_iterator) + | 366 | iter = kzalloc(struct_size(iter, type_info, num_counter_active(info)), |
368 | num_counter_active(info) * sizeof(struct type_info), | ||
369 | GFP_KERNEL); | 367 | GFP_KERNEL); |
370 | if (iter) | 368 | if (iter) |
371 | iter->info = info; | 369 | iter->info = info; |