[alsa-devel] question about sound/pci/ctxfi/ctpcm.c

Julia Lawall julia at diku.dk
Mon Nov 8 17:58:10 CET 2010


The file sound/pci/ctxfi/ctpcm.c contains the functions 
ct_pcm_playback_open and ct_pcm_capture_open that contain the following 
pattern of code:

        runtime->private_data = apcm;
	...
	if (err < 0) {
                kfree(apcm);
                return err;
        }

I wonder if this leaves a dangling pointer to apcm in runtime?
The function ct_atc_pcm_free_substream on the other hand does set the 
private_data field to NULL after freeing apcm.  But perhaps there is 
something in the calling context of open that ensures that if the open 
function fails, the private_data field of runtime will never be used?  

thanks,
julia


More information about the Alsa-devel mailing list