I have an issue that my program randomly crash when serialising string fields. I am using c++ and visual studio 2022 for development. protobuf version is 3.21.12
this is my proto def
message FarePurseRequest {
google.protobuf.Timestamp txnDateTime = 1;
MessageType msgType = 2;
string equipmentNo = 3;
int32 deviceTypeId = 4;
int32 deviceSeqNo = 5;
int32 deviceOwnerId = 6;
string tokenId = 7;
}
This is how I set the string field, string field is equipmentno
fare::FarePurseRequest* msgFarePurseRequest = new fare::FarePurseRequest();
google::protobuf::Timestamp timestamp;
std::time_t now = std::time(nullptr);
timestamp.set_seconds(now);
msgFarePurseRequest->set_allocated_txndatetime(×tamp);
msgFarePurseRequest->set_msgtype(fare::MessageType::BANK_CARD_BUS_USAGE);
msgFarePurseRequest->set_equipmentno("AG1");
This is how I serialise data
int data_len = msgFarePurseRequest->ByteSizeLong();
char* buffer = new char[data_len];
memset(buffer, 0, data_len);
msgFarePurseRequest->SerializeToArray(buffer, data_len);
This is what I see when run debug mode,
enter image description here
It is triggering from field number 3, when calling VerifyUtf8String()
enter image description here
Appreciate any help,