Skip to content

Commit 09c4e33

Browse files
authored
Netdump printf fix (#8215)
* Fix crash printf long getTime() * Update several printf to printf_P
1 parent 25a21c3 commit 09c4e33

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

Diff for: libraries/Netdump/src/Netdump.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ void Netdump::reset()
6868

6969
void Netdump::printDump(Print& out, Packet::PacketDetail ndd, const Filter nf)
7070
{
71-
out.printf("netDump starting\r\n");
71+
out.printf_P(PSTR("netDump starting\r\n"));
7272
setCallback([&out, ndd, this](const Packet & ndp)
7373
{
7474
printDumpProcess(out, ndd, ndp);
@@ -140,7 +140,7 @@ void Netdump::writePcapHeader(Stream& s) const
140140

141141
void Netdump::printDumpProcess(Print& out, Packet::PacketDetail ndd, const Packet& np) const
142142
{
143-
out.printf_P(PSTR("%8d %s"), np.getTime(), np.toString(ndd).c_str());
143+
out.printf_P(PSTR("%8lld %s"), np.getTime(), np.toString(ndd).c_str());
144144
}
145145

146146
void Netdump::fileDumpProcess(File& outfile, const Packet& np) const

Diff for: libraries/Netdump/src/NetdumpIP.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ size_t NetdumpIP::printTo(Print& p)
251251
uint16_t bit = PP_NTOHS(reinterpret_cast<const uint16_t*>(rawip)[i]);
252252
if (bit || count0 < 0)
253253
{
254-
n += p.printf("%x", bit);
254+
n += p.printf_P(PSTR("%x"), bit);
255255
if (count0 > 0)
256256
// no more hiding 0
257257
{

Diff for: libraries/Netdump/src/NetdumpPacket.cpp

+5-5
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,21 @@ void Packet::printDetail(Print& out, const String& indent, const char* data, siz
4242
{
4343
end = size;
4444
}
45-
out.printf("%s", indent.c_str());
45+
out.printf_P(PSTR("%s"), indent.c_str());
4646
if (pd != PacketDetail::CHAR)
4747
{
4848
for (size_t i = start; i < end; i++)
4949
{
50-
out.printf("%02x ", (unsigned char)data[i]);
50+
out.printf_P(PSTR("%02x "), (unsigned char)data[i]);
5151
}
5252
for (size_t i = end; i < start + charCount; i++)
5353
{
54-
out.print(" ");
54+
out.printf_P(PSTR(" "));
5555
}
5656
}
5757
for (size_t i = start; i < end; i++)
5858
{
59-
out.printf("%c", data[i] >= 32 && data[i] < 128 ? data[i] : '.');
59+
out.printf_P(PSTR("%c"), data[i] >= 32 && data[i] < 128 ? data[i] : '.');
6060
}
6161
out.println();
6262

@@ -253,7 +253,7 @@ void Packet::ICMPtoString(PacketDetail, StreamString& sstr) const
253253
default: sstr.printf_P(PSTR("type(0x%02x)"), getIcmpType()); break;
254254
}
255255
}
256-
sstr.printf("\r\n");
256+
sstr.printf_P(PSTR("\r\n"));
257257
}
258258

259259
void Packet::IGMPtoString(PacketDetail, StreamString& sstr) const

0 commit comments

Comments
 (0)