FYI: Integer overflow in tcp socket write function fixed

Ole Reinhardt <ole.reinhardt-L1vi/[email protected]>
Newsgroups gmane.comp.hardware.microcontrollers.ethernut
Message-ID <[email protected]>
Hi all,

I fixed another long time hidden bug in the TCP socket code.

There had been two integer overflow in NutTcpDeviceWrite() and
NutTcpReceive()

Both functions suffered from size calculations based on uint16_t
variables, which resulted in integer overflows, when calling these
functions with buffer sizes > 64K.

As result NutTcpDeviceWrite() send out the wrong number of bytes, but
always returned, that it correctly wrote the whole buffer size.

So when calling write() or fwrite() on a socket with a buffer larger
than 64K you likely would have lost data on the socket.

Same could perhaps have happened when calling fread() or read() on a
socket with large buffers.

The fix is implemented in trunk rev. r6143.

best regards,

Ole Reinhardt


-- 
kernel concepts GmbH            Tel: +49-271-771091-14
Sieghuetter Hauptweg 48         Mob: +49-177-7420433
D-57072 Siegen
http://www.embedded-it.de
http://www.kernelconcepts.de
_______________________________________________
http://lists.egnite.de/mailman/listinfo/en-nut-discussion
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.