mirror of
https://passt.top/passt
synced 2025-06-13 11:05:34 +02:00
pcap: Handle short writes in pcap_frame()
Currently pcap_frame() assumes that if write() doesn't return an error, it has written everything we want. That's not necessarily true, because it could return a short write. That's not likely to happen on a regular file, but there's not a lot of reason not to be robust here; it's conceivable we might want to direct the pcap fd at a named pipe or similar. So, make pcap_frame() handle short frames by using the write_remainder() helper. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> [sbrivio: Formatting fix, and avoid gcc warning in pcap_frame()] Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
8bdb0883b4
commit
dda7945ca9
3 changed files with 30 additions and 19 deletions
3
pcap.h
3
pcap.h
|
@ -7,7 +7,8 @@
|
|||
#define PCAP_H
|
||||
|
||||
void pcap(const char *pkt, size_t len);
|
||||
void pcap_multiple(const struct iovec *iov, unsigned int n, size_t offset);
|
||||
void pcap_multiple(const struct iovec *iov, size_t frame_parts, unsigned int n,
|
||||
size_t offset);
|
||||
void pcap_init(struct ctx *c);
|
||||
|
||||
#endif /* PCAP_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue