|
Bugzilla – Full Text Bug Listing |
| Summary: | Packet::CopyData ( *buffer, size) return a bad value sometimes when size == Packet::GetSize () | ||
|---|---|---|---|
| Product: | ns-3 | Reporter: | Frederic Urbani <frederic.urbani> |
| Component: | network | Assignee: | ns-bugs <ns-bugs> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | CC: | mathieu.lacage |
| Priority: | P5 | ||
| Version: | ns-3-dev | ||
| Hardware: | All | ||
| OS: | All | ||
In my test case I have a packet P filled with valid data (not zero filled) AND : P->GetSize () return 14 then P->CopyData (buf, 14) return 0 ? So my patch is here : diff -r e52db23c9c8b src/network/model/buffer.cc --- a/src/network/model/buffer.cc Thu Sep 08 18:24:47 2011 -0700 +++ b/src/network/model/buffer.cc Fri Sep 09 17:34:22 2011 +0200 @@ -777,6 +777,10 @@ memcpy (buffer, (const char*)(m_data->m_data + m_zeroAreaStart), tmpsize); } } + else + { + return tmpsize; + } } return originalSize - size; }