Replace deprecated NG_NODELEN with the new NG_NODESIZ. There is one
problem here still to be solved: the sockaddr_hci has still a 16 byte field for the node name. The code currently does not correctly use the length field in the sockaddr to handle the address length, so node names get truncated to 15 characters when put into a sockaddr_hci.
This commit is contained in:
parent
3a15ac7b11
commit
5e802bbf2a
@ -150,7 +150,7 @@ static int ng_h4_node = 0;
|
||||
static int
|
||||
ng_h4_open(dev_t dev, struct tty *tp)
|
||||
{
|
||||
char name[NG_NODELEN + 1];
|
||||
char name[NG_NODESIZ];
|
||||
ng_h4_info_p sc = NULL;
|
||||
int s, error;
|
||||
|
||||
@ -733,7 +733,7 @@ static int
|
||||
ng_h4_shutdown(node_p node)
|
||||
{
|
||||
ng_h4_info_p sc = (ng_h4_info_p) NG_NODE_PRIVATE(node);
|
||||
char name[NG_NODELEN + 1];
|
||||
char name[NG_NODESIZ];
|
||||
|
||||
/* Let old node go */
|
||||
NG_NODE_SET_PRIVATE(node, NULL);
|
||||
|
@ -50,12 +50,17 @@
|
||||
/*
|
||||
* XXX FIXME: probably does not belong here
|
||||
* Bluetooth version of struct sockaddr for raw HCI sockets
|
||||
*
|
||||
* XXX: sizeof(hci_node) was NG_NODELEN + 1, but NG_NODESIZ (the equivalent
|
||||
* of NG_NODELEN + 1) has been bumped to 32. The code currently
|
||||
* truncates the node name to sizeof(hci_node), although it would be
|
||||
* possible to correctly handle this by means of the hci_len field.
|
||||
*/
|
||||
|
||||
struct sockaddr_hci {
|
||||
u_char hci_len; /* total length */
|
||||
u_char hci_family; /* address family */
|
||||
char hci_node[16]; /* address (size == NG_NODELEN + 1) */
|
||||
char hci_node[16]; /* address */
|
||||
};
|
||||
|
||||
/* Raw HCI socket options */
|
||||
|
@ -1009,7 +1009,7 @@ ng_btsocket_hci_raw_control(struct socket *so, u_long cmd, caddr_t data,
|
||||
struct ifnet *ifp, struct thread *td)
|
||||
{
|
||||
ng_btsocket_hci_raw_pcb_p pcb = so2hci_raw_pcb(so);
|
||||
char path[NG_NODELEN + 2];
|
||||
char path[NG_NODESIZ + 1];
|
||||
struct ng_mesg *msg = NULL;
|
||||
int error = 0;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user