Fully init TF_TString in order to mitigate potential msan false positives.
Prior to this change, TF_TString_Init intentionally only initialized the first 2 bytes of a 24 byte struct. In some situations, where a temporary TF_TString struct is initialized via TF_TString_Init and subsequently copied, the copying of the uninitialized data may result in an msan use-of-uninitialized-value error. PiperOrigin-RevId: 320133690 Change-Id: I995ba629c4cb0b2a85a25c277caa74cf2dbc3bc3
This commit is contained in:
parent
faab6925c9
commit
89b2b97856
@ -169,8 +169,7 @@ static inline size_t TF_TString_ToInternalSizeT(size_t size,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static inline void TF_TString_Init(TF_TString *str) {
|
static inline void TF_TString_Init(TF_TString *str) {
|
||||||
str->u.smll.size = 0;
|
memset(str->u.raw.raw, 0, sizeof(TF_TString_Raw));
|
||||||
str->u.smll.str[0] = '\0';
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void TF_TString_Dealloc(TF_TString *str) {
|
static inline void TF_TString_Dealloc(TF_TString *str) {
|
||||||
|
Loading…
Reference in New Issue
Block a user