/src/poco/Net/fuzzing/MailParse.cpp
Line | Count | Source |
1 | | #include "Poco/MemoryStream.h" |
2 | | #include "Poco/Net/MailMessage.h" |
3 | | #include "Poco/Net/MailStream.h" |
4 | | #include "Poco/NullStream.h" |
5 | | |
6 | | using namespace Poco; |
7 | | using namespace Poco::Net; |
8 | | |
9 | | extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) |
10 | 8.07k | { |
11 | 8.07k | try |
12 | 8.07k | { |
13 | 8.07k | MemoryInputStream stream(reinterpret_cast<const char*>(data), size); |
14 | 8.07k | MailInputStream mis(stream); |
15 | 8.07k | MailMessage mail; |
16 | 8.07k | mail.read(mis); |
17 | | |
18 | 8.07k | MailRecipient recipient(MailRecipient::CC_RECIPIENT, MailMessage::encodeWord(mail.getSender())); |
19 | 8.07k | mail.addRecipient(recipient); |
20 | | |
21 | 8.07k | NullOutputStream null; |
22 | 8.07k | MailOutputStream mos(null); |
23 | 8.07k | mail.write(mos); |
24 | 8.07k | } |
25 | 8.07k | catch (const std::exception&) |
26 | 8.07k | { |
27 | 743 | } |
28 | | |
29 | 8.07k | return 0; |
30 | 8.07k | } |