[alsa-devel] [PATCH] amixer: add support for TLV byte control read

Vinod Koul vinod.koul at intel.com
Thu Jan 28 10:26:44 CET 2016


On Thu, Jan 28, 2016 at 06:49:48AM +0100, Takashi Iwai wrote:
> > Yes did, but didn't get a clue. tlv seems to be valid before free and points
> > to right location and contents
> 
> Could you show the backtrace?

676                     if ((err = snd_hctl_elem_tlv_read(elem, tlv, 4096)) < 0) {
(gdb) n
677                             error("Control %s element TLV read error: %s\n", card, snd_strerror(err));
(gdb) p err
$1 = -14

(gdb) n
amixer: Control hw:0 element TLV read error: Bad address

678                             free(tlv);
(gdb) p tlv
$2 = (unsigned int *) 0x625f10
(gdb) p tlv[0]
$3 = 4294967295
(gdb) p tlv[1]
$4 = 0
(gdb) backtrace
#0  show_control (elem=0x625310, level=level at entry=5, space=0x409b01 "  ")
at amixer.c:678
#1  0x00000000004066d9 in cset (argc=argc at entry=1, argv=0x7fffffffe530,
roflag=roflag at entry=1, keep_handle=keep_handle at entry=0) at amixer.c:1184
#2  0x0000000000404352 in main (argc=<optimized out>, argv=0x7fffffffe518)
at amixer.c:1863
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff749e12f in _int_free (av=0x7ffff77dd760 <main_arena>,
p=<optimized out>, have_lock=0) at malloc.c:3996
3996    malloc.c: No such file or directory.
(gdb) backtrace
#0  0x00007ffff749e12f in _int_free (av=0x7ffff77dd760 <main_arena>,
p=<optimized out>, have_lock=0) at malloc.c:3996
#1  0x00000000004063be in show_control (elem=0x625310, level=level at entry=5,
space=0x409b01 "  ") at amixer.c:678
#2  0x00000000004066d9 in cset (argc=argc at entry=1, argv=0x7fffffffe530,
roflag=roflag at entry=1, keep_handle=keep_handle at entry=0) at amixer.c:1184
#3  0x0000000000404352 in main (argc=<optimized out>, argv=0x7fffffffe518)
at amixer.c:1863

-- 
~Vinod


More information about the Alsa-devel mailing list