]> git.alsa-project.org Git - tinycompress.git/commitdiff
compress: copy final version of config struct
authorRichard Fitzgerald <rf@opensource.wolfsonmicro.com>
Wed, 5 Jun 2013 12:10:41 +0000 (13:10 +0100)
committerVinod Koul <vinod.koul@intel.com>
Fri, 7 Jun 2013 00:29:50 +0000 (05:59 +0530)
compress_open() should delay taking a copy of the
config struct until we've finished modifying it.

Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
compress.c

index 7f56c78d6fdab907a71bc17d6e893cbd1eccb912..373de8578ebf7dc1dd92ba443debbad4df171bea 100644 (file)
@@ -235,7 +235,6 @@ struct compress *compress_open(unsigned int card, unsigned int device,
        compress->config = calloc(1, sizeof(*config));
        if (!compress->config)
                goto input_fail;
-       memcpy(compress->config, config, sizeof(*compress->config));
 
        snprintf(fn, sizeof(fn), "/dev/snd/comprC%uD%u", card, device);
 
@@ -277,6 +276,8 @@ struct compress *compress_open(unsigned int card, unsigned int device,
                goto codec_fail;
        }
 #endif
+
+       memcpy(compress->config, config, sizeof(*compress->config));
        fill_compress_params(config, &params);
 
        if (ioctl(compress->fd, SNDRV_COMPRESS_SET_PARAMS, &params)) {