forked from OSchip/llvm-project
[lldb/Reproducers] (De)serialize char* like const char*
The current implementation has a discrepancy between how char pointers are serialized and deserialized. The latter treats it like a const char* while the former serializes it as a pointer to a basic type. Both are potentially wrong, as char pointers are mostly used in combination with a size, and nothing guarantees that the string's length (its first null byte to be more precise) is greater or equal to its size. The real solution is to have a custom (de)serializer that uses both pieces of infromation. However, the implementation should be consistent between serialization and deserialization and I believe treating char* as const char* is the better alternative.
This commit is contained in:
parent
3ec28da6d6
commit
6dccad7517
|
@ -621,6 +621,8 @@ private:
|
|||
}
|
||||
}
|
||||
|
||||
void Serialize(char *t) { Serialize(static_cast<const char *>(t)); }
|
||||
|
||||
void Serialize(const char **t) {
|
||||
size_t size = 0;
|
||||
if (!t) {
|
||||
|
|
Loading…
Reference in New Issue