sizeof() when applied to a pointer typed expression gives the
size of the pointer, not that of the pointed data.

Fixes: 7edf3b5e6a45 ("ALSA: usb-audio: AudioStreaming Power Domain parsing")
Signed-off-by: Wei Yongjun <weiyongj...@huawei.com>
---
 sound/usb/stream.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/usb/stream.c b/sound/usb/stream.c
index 8fe3b0e..67cf849 100644
--- a/sound/usb/stream.c
+++ b/sound/usb/stream.c
@@ -1037,7 +1037,7 @@ static int parse_uac_endpoint_attributes(struct 
snd_usb_audio *chip,
                fp->rate_max = UAC3_BADD_SAMPLING_RATE;
                fp->rates = SNDRV_PCM_RATE_CONTINUOUS;
 
-               pd = kzalloc(sizeof(pd), GFP_KERNEL);
+               pd = kzalloc(sizeof(*pd), GFP_KERNEL);
                if (!pd) {
                        kfree(fp->rate_table);
                        kfree(fp);

Reply via email to