| 259 | FUZZER_LOGD("Generate CString: %s.", value.c_str()); |
| 260 | } |
| 261 | void ParcelWriter::writeFileDescriptor() { |
| 262 | if (isRaw) { |
| 263 | FUZZER_LOGE("This operation shouldn't exist in raw mode."); |
| 264 | exit(0); |
| 265 | } else if (parcelReaderWriter->flattenableLevel > 0) { |
| 266 | // just count the number of FileDescriptors, do not write. |
| 267 | parcelReaderWriter->fdCount += 1; |
| 268 | FUZZER_LOGD("Count file descriptor: %u.", parcelReaderWriter->fdCount); |
| 269 | } else { |
| 270 | FDType fdType(varName, varType); |
| 271 | int32_t fd = generate(&fdType); |
| 272 | bool takeOwnership = variable["takeOwnership"].asBool(); |
| 273 | parcelReaderWriter->data->writeFileDescriptor(fd, takeOwnership); |
| 274 | FUZZER_LOGD("Generate file descriptor: %u.", fd); |
| 275 | } |
| 276 | } |
| 277 | |
| 278 | void ParcelWriter::writeStrongBinder() { |
| 279 | BinderType binderType(varName, varType, variable["interfaceName"].asString()); |
no outgoing calls
no test coverage detected