Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ae6e8a9a authored by Hemant Gupta's avatar Hemant Gupta Committed by Hansong Zhang
Browse files

Replace strncpy with strlcpy in HID and PAN code

Test: HID and PAN functionality work fine

Bug: 62525262
Change-Id: Icd4f9073a2356f3c8ecc4a23c22388b3509974e9
parent 383e826d
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -104,23 +104,20 @@ extern void BTA_HdRegisterApp(tBTA_HD_APP_INFO* p_app_info,
  p_buf->hdr.event = BTA_HD_API_REGISTER_APP_EVT;

  if (p_app_info->p_name) {
    strncpy(p_buf->name, p_app_info->p_name, BTA_HD_APP_NAME_LEN);
    p_buf->name[BTA_HD_APP_NAME_LEN] = '\0';
    strlcpy(p_buf->name, p_app_info->p_name, BTA_HD_APP_NAME_LEN);
  } else {
    p_buf->name[0] = '\0';
  }

  if (p_app_info->p_description) {
    strncpy(p_buf->description, p_app_info->p_description,
    strlcpy(p_buf->description, p_app_info->p_description,
            BTA_HD_APP_DESCRIPTION_LEN);
    p_buf->description[BTA_HD_APP_DESCRIPTION_LEN] = '\0';
  } else {
    p_buf->description[0] = '\0';
  }

  if (p_app_info->p_provider) {
    strncpy(p_buf->provider, p_app_info->p_provider, BTA_HD_APP_PROVIDER_LEN);
    p_buf->provider[BTA_HD_APP_PROVIDER_LEN] = '\0';
    strlcpy(p_buf->provider, p_app_info->p_provider, BTA_HD_APP_PROVIDER_LEN);
  } else {
    p_buf->provider[0] = '\0';
  }
+3 −3
Original line number Diff line number Diff line
@@ -77,9 +77,9 @@ typedef struct {

typedef struct {
  BT_HDR hdr;
  char name[BTA_HD_APP_NAME_LEN + 1];
  char description[BTA_HD_APP_DESCRIPTION_LEN + 1];
  char provider[BTA_HD_APP_PROVIDER_LEN + 1];
  char name[BTA_HD_APP_NAME_LEN];
  char description[BTA_HD_APP_DESCRIPTION_LEN];
  char provider[BTA_HD_APP_PROVIDER_LEN];
  uint8_t subclass;
  uint16_t d_len;
  uint8_t d_data[BTA_HD_APP_DESCRIPTOR_LEN];
+1 −1
Original line number Diff line number Diff line
@@ -473,7 +473,7 @@ void bta_hh_co_send_hid_info(btif_hh_device_t* p_dev, const char* dev_name,
  // Create and send hid descriptor to kernel
  memset(&ev, 0, sizeof(ev));
  ev.type = UHID_CREATE;
  strncpy((char*)ev.u.create.name, dev_name, sizeof(ev.u.create.name) - 1);
  strlcpy((char*)ev.u.create.name, dev_name, sizeof(ev.u.create.name));
  snprintf((char*)ev.u.create.uniq, sizeof(ev.u.create.uniq), "%s",
           p_dev->bd_addr.ToString().c_str());
  ev.u.create.rd_size = dscp_len;
+5 −5
Original line number Diff line number Diff line
@@ -286,7 +286,7 @@ static int tap_if_up(const char* devname, const RawAddress* addr) {

  // set mac addr
  memset(&ifr, 0, sizeof(ifr));
  strncpy(ifr.ifr_name, devname, IFNAMSIZ - 1);
  strlcpy(ifr.ifr_name, devname, IFNAMSIZ);
  err = ioctl(sk, SIOCGIFHWADDR, &ifr);
  if (err < 0) {
    BTIF_TRACE_ERROR(
@@ -296,7 +296,7 @@ static int tap_if_up(const char* devname, const RawAddress* addr) {
    return -1;
  }

  strncpy(ifr.ifr_name, devname, IFNAMSIZ - 1);
  strlcpy(ifr.ifr_name, devname, IFNAMSIZ);
  memcpy(ifr.ifr_hwaddr.sa_data, addr->address, 6);

  /* The IEEE has specified that the most significant bit of the most
@@ -324,7 +324,7 @@ static int tap_if_up(const char* devname, const RawAddress* addr) {

  // bring it up
  memset(&ifr, 0, sizeof(ifr));
  strncpy(ifr.ifr_name, devname, IF_NAMESIZE - 1);
  strlcpy(ifr.ifr_name, devname, IF_NAMESIZE);

  ifr.ifr_flags |= IFF_UP;
  ifr.ifr_flags |= IFF_MULTICAST;
@@ -350,7 +350,7 @@ static int tap_if_down(const char* devname) {
  if (sk < 0) return -1;

  memset(&ifr, 0, sizeof(ifr));
  strncpy(ifr.ifr_name, devname, IF_NAMESIZE - 1);
  strlcpy(ifr.ifr_name, devname, IF_NAMESIZE);

  ifr.ifr_flags &= ~IFF_UP;

@@ -387,7 +387,7 @@ int btpan_tap_open() {
  memset(&ifr, 0, sizeof(ifr));
  ifr.ifr_flags = IFF_TAP | IFF_NO_PI;

  strncpy(ifr.ifr_name, TAP_IF_NAME, IFNAMSIZ);
  strlcpy(ifr.ifr_name, TAP_IF_NAME, IFNAMSIZ);

  /* try to create the device */
  err = ioctl(fd, TUNSETIFF, (void*)&ifr);