MCPcopy Create free account
hub / github.com/HexHive/NASS / readCString

Method readCString

fans/fuzzer-engine/fuzzer/src/parcel_reader.cpp:122–143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

120 }
121}
122void ParcelReader::readCString() {
123 checkIsRaw();
124 string value;
125 if (variable.isMember("utf8") == true && variable["utf8"].asBool() == true) {
126 parcelReaderWriter->reply->readUtf8FromUtf16(&value);
127 } else {
128 const char *readFromReply;
129 readFromReply = parcelReaderWriter->reply->readCString();
130 if (readFromReply == NULL) {
131 value = "";
132 } else {
133 value = readFromReply;
134 }
135 }
136 parcelReaderWriter->storeValue(varName, value);
137 FUZZER_LOGD("read CString: %s.", value.c_str());
138 // detect leak
139 // if dependency, solve dependency.
140 if (parcelReaderWriter->isDependency) {
141 parcelReaderWriter->targetParcel->writeCString(value.c_str());
142 }
143}
144void ParcelReader::readFileDescriptor() {
145 checkIsRaw();
146 int32_t fd = parcelReaderWriter->reply->readFileDescriptor();

Callers 1

readFromParcelMethod · 0.45

Calls 3

storeValueMethod · 0.45
c_strMethod · 0.45
writeCStringMethod · 0.45

Tested by

no test coverage detected