ALSA: pcm: Use krealloc() for resizing the rules array
authorTakashi Iwai <tiwai@suse.de>
Tue, 13 Mar 2018 10:31:25 +0000 (11:31 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 13 Mar 2018 14:37:58 +0000 (15:37 +0100)
Just a minor simplification.  Change from kcalloc() shouldn't matter
as each array element is fully initialized.

Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/pcm_lib.c

index a83152e7d3873c178cde31c8186047b60088104a..f4a19509cccf3c481aaa641de2c47c894dd1e66c 100644 (file)
@@ -1129,16 +1129,12 @@ int snd_pcm_hw_rule_add(struct snd_pcm_runtime *runtime, unsigned int cond,
        if (constrs->rules_num >= constrs->rules_all) {
                struct snd_pcm_hw_rule *new;
                unsigned int new_rules = constrs->rules_all + 16;
-               new = kcalloc(new_rules, sizeof(*c), GFP_KERNEL);
+               new = krealloc(constrs->rules, new_rules * sizeof(*c),
+                              GFP_KERNEL);
                if (!new) {
                        va_end(args);
                        return -ENOMEM;
                }
-               if (constrs->rules) {
-                       memcpy(new, constrs->rules,
-                              constrs->rules_num * sizeof(*c));
-                       kfree(constrs->rules);
-               }
                constrs->rules = new;
                constrs->rules_all = new_rules;
        }