• Szymon Janc's avatar
    Bluetooth: Fix using uninitialized option in RFCMode · 39b78b60
    Szymon Janc authored
    commit 8f321f85 upstream.
    
    If remote device sends bogus RFC option with invalid length,
    undefined options values are used. Fix this by using defaults when
    remote misbehaves.
    
    This also fixes the following warning reported by gcc 4.7.0:
    
    net/bluetooth/l2cap_core.c: In function 'l2cap_config_rsp':
    net/bluetooth/l2cap_core.c:3302:13: warning: 'rfc.max_pdu_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
    net/bluetooth/l2cap_core.c:3266:24: note: 'rfc.max_pdu_size' was declared here
    net/bluetooth/l2cap_core.c:3298:25: warning: 'rfc.monitor_timeout' may be used uninitialized in this function [-Wmaybe-uninitialized]
    net/bluetooth/l2cap_core.c:3266:24: note: 'rfc.monitor_timeout' was declared here
    net/bluetooth/l2cap_core.c:3297:25: warning: 'rfc.retrans_timeout' may be used uninitialized in this function [-Wmaybe-uninitialized]
    net/bluetooth/l2cap_core.c:3266:24: note: 'rfc.retrans_timeout' was declared here
    net/bluetooth/l2cap_core.c:3295:2: warning: 'rfc.mode' may be used uninitialized in this function [-Wmaybe-uninitialized]
    net/bluetooth/l2cap_core.c:3266:24: note: 'rfc.mode' was declared here
    Signed-off-by: default avatarSzymon Janc <szymon.janc@tieto.com>
    Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    39b78b60
l2cap_core.c 96.7 KB