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

Commit d719d572 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

[AWARE] Protect string copy against buffer overflow am: 5039b609

Change-Id: If36fa8b7de6f0b9092e9c7c7f50f6fd8111f6cb3
parents 4b73b595 5039b609
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -1819,7 +1819,13 @@ bool convertHidlNanDataPathInitiatorRequestToLegacy(
        convertHidlNanDataPathChannelCfgToLegacy(
            hidl_request.channelRequestType);
    legacy_request->channel = hidl_request.channel;
    strcpy(legacy_request->ndp_iface, hidl_request.ifaceName.c_str());
    if (strnlen(hidl_request.ifaceName.c_str(), IFNAMSIZ + 1) == IFNAMSIZ + 1) {
        LOG(ERROR) << "convertHidlNanDataPathInitiatorRequestToLegacy: "
                      "ifaceName too long";
        return false;
    }
    strncpy(legacy_request->ndp_iface, hidl_request.ifaceName.c_str(),
            IFNAMSIZ + 1);
    legacy_request->ndp_cfg.security_cfg =
        (hidl_request.securityConfig.securityType !=
         NanDataPathSecurityType::OPEN)
@@ -1900,7 +1906,13 @@ bool convertHidlNanDataPathIndicationResponseToLegacy(
                                   ? legacy_hal::NAN_DP_REQUEST_ACCEPT
                                   : legacy_hal::NAN_DP_REQUEST_REJECT;
    legacy_request->ndp_instance_id = hidl_request.ndpInstanceId;
    strcpy(legacy_request->ndp_iface, hidl_request.ifaceName.c_str());
    if (strnlen(hidl_request.ifaceName.c_str(), IFNAMSIZ + 1) == IFNAMSIZ + 1) {
        LOG(ERROR) << "convertHidlNanDataPathIndicationResponseToLegacy: "
                      "ifaceName too long";
        return false;
    }
    strncpy(legacy_request->ndp_iface, hidl_request.ifaceName.c_str(),
            IFNAMSIZ + 1);
    legacy_request->ndp_cfg.security_cfg =
        (hidl_request.securityConfig.securityType !=
         NanDataPathSecurityType::OPEN)