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; |
