.. | .. |
---|
220 | 220 | } |
---|
221 | 221 | |
---|
222 | 222 | if (fields && num_fields) { |
---|
223 | | - *fields = kmalloc_array(i, sizeof(*fields), GFP_KERNEL); |
---|
| 223 | + *fields = kmalloc_array(i, sizeof(**fields), GFP_KERNEL); |
---|
224 | 224 | if (*fields == NULL) |
---|
225 | 225 | return -ENOMEM; |
---|
226 | 226 | |
---|
227 | | - memcpy(*fields, found_fields, i * sizeof(*fields)); |
---|
| 227 | + memcpy(*fields, found_fields, i * sizeof(**fields)); |
---|
228 | 228 | *num_fields = i; |
---|
229 | 229 | } |
---|
230 | 230 | |
---|
.. | .. |
---|
290 | 290 | |
---|
291 | 291 | template_desc->name = ""; |
---|
292 | 292 | template_desc->fmt = kstrdup(template_name, GFP_KERNEL); |
---|
293 | | - if (!template_desc->fmt) |
---|
| 293 | + if (!template_desc->fmt) { |
---|
| 294 | + kfree(template_desc); |
---|
| 295 | + template_desc = NULL; |
---|
294 | 296 | goto out; |
---|
| 297 | + } |
---|
295 | 298 | |
---|
296 | 299 | spin_lock(&template_list); |
---|
297 | 300 | list_add_tail_rcu(&template_desc->list, &defined_templates); |
---|