1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-07 04:03:29 +00:00

Copy from slice over raw pointer to Vec

This commit is contained in:
Isaiah Inuwa
2025-11-24 07:29:45 -06:00
parent def7f7c059
commit 978f2ee807

View File

@@ -392,11 +392,11 @@ impl TryFrom<NonNull<WEBAUTHN_PLUGIN_OPERATION_REQUEST>> for PluginMakeCredentia
inner: registration_request as *const WEBAUTHN_CTAPCBOR_MAKE_CREDENTIAL_REQUEST,
window_handle: request.hWnd,
transaction_id: request.transactionId,
request_signature: Vec::from_raw_parts(
request_signature: std::slice::from_raw_parts(
request.pbRequestSignature,
request.cbEncodedRequest as usize,
request.cbEncodedRequest as usize,
),
)
.to_vec(),
})
}
}
@@ -515,9 +515,9 @@ impl PluginMakeCredentialResponse {
"Received null pointer from WebAuthNEncodeMakeCredentialResponse",
));
}
let response = unsafe {
Vec::from_raw_parts(response_ptr, response_len as usize, response_len as usize)
};
// SAFETY: Windows returned successful response code, so we assume that the pointer and length are valid.
let response =
unsafe { std::slice::from_raw_parts(response_ptr, response_len as usize).to_vec() };
Ok(response)
}
@@ -747,11 +747,11 @@ impl TryFrom<NonNull<WEBAUTHN_PLUGIN_OPERATION_REQUEST>> for PluginGetAssertionR
inner: assertion_request as *const WEBAUTHN_CTAPCBOR_GET_ASSERTION_REQUEST,
window_handle: request.hWnd,
transaction_id: request.transactionId,
request_signature: Vec::from_raw_parts(
request_signature: std::slice::from_raw_parts(
request.pbRequestSignature,
request.cbEncodedRequest as usize,
request.cbEncodedRequest as usize,
),
)
.to_vec(),
})
}
}