Crystrix commented on a change in pull request #11789:
URL: https://github.com/apache/arrow/pull/11789#discussion_r758211586
##########
File path: cpp/src/arrow/util/ubsan.h
##########
@@ -60,6 +60,14 @@ inline typename std::enable_if<std::is_trivial<T>::value,
T>::type SafeLoadAs(
return ret;
}
+template <typename T>
+inline typename std::enable_if<std::is_trivial<T>::value, T>::type SafeLoadAs(
+ const uint8_t* unaligned, uint32_t length) {
+ typename std::remove_const<T>::type ret;
+ std::memcpy(&ret, unaligned, length);
Review comment:
SafeLoadAs with length is only called by `helper_tail`. The garbage
bytes are filtered out by a mask.
In the original implementation, the garbage bytes are also copied, if the
`unaligned` doesn't have enough length.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]