Spotted by : we're taking sizeof(ptr) instead of sizeof(*ptr). Signed-off-by: Andrew Morton --- 25-akpm/sound/core/control.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN sound/core/control.c~sound-priv_data-offsetting-fix sound/core/control.c --- 25/sound/core/control.c~sound-priv_data-offsetting-fix 2005-02-28 07:49:51.000000000 -0700 +++ 25-akpm/sound/core/control.c 2005-02-28 07:50:57.000000000 -0700 @@ -928,7 +928,7 @@ static int snd_ctl_elem_add(snd_ctl_file if (ue == NULL) return -ENOMEM; ue->info = *info; - ue->elem_data = (char *)ue + sizeof(ue); + ue->elem_data = (char *)ue + sizeof(*ue); ue->elem_data_size = private_size; kctl.private_free = snd_ctl_elem_user_free; _kctl = snd_ctl_new(&kctl, access); _