History log of /haiku/src/kits/network/libnetapi/NetBuffer.cpp
Revision Date Author Comments
# 6c016dc5 13-Nov-2020 Murai Takashi <tmurai01@gmail.com>

libnetapi: Fix use after free

Fix 'fImpl' is used after delete in BNetBuffer::operator=
(GetImpl() returns fImpl), when it is used with self assignment.
Pointed out by Clang Static Analyzer.

Change-Id: Ic80a4ce73879062581b9241f84a4340919d281b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3393
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>


# dfcbef64 04-Jul-2015 Philippe Saint-Pierre <stpere@gmail.com>

Erratum hrev49359: Compare size with 0 rather that B_OK

Thanks Ingo!


# a495c5e6 03-Jul-2015 Philippe Saint-Pierre <stpere@gmail.com>

NetBuffer: Check result of FlattenedSize() for error

CID 610923


# 4f978fe4 18-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

BNetBuffer: add some error checks.

The allocation of fImpl can fail, and some methods used it without
checking. Return an error code (or NULL or 0) instead of crashing in
these cases.

Also InitCheck the fInputBuffer in BHttpRequest before trying to use it.

Fixes #11350.


# c99f294e 02-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BNetBuffer: Restore semantics after DynamicBuffer -> BDataIO


# 739f15e1 02-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Revert "DynamicBuffer: implement BDataIO""

This reverts commit 747b401e875f19d83508cc39176f4c263182c515.


# 747b401e 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "DynamicBuffer: implement BDataIO"

This reverts commit 36b1f55a1841d63f0e6487e2c62c280cb24a63c4.


# 36b1f55a 11-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

DynamicBuffer: implement BDataIO

This makes it possible to use it with the ZlibDecompressor.


# 754bbf48 26-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

libnetapi: second pass of style cleanup

* remarks from Axel


# 4650eca2 17-Jan-2009 Bruno G. Albuquerque <bga@bug-br.org.br>

- Implemented some suggestions by stippi.
- Corrected some bugs also pointed by him.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28933 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 31562415 17-Jan-2009 Karsten Heimrich <host.haiku@gmx.de>

* fix gcc4 build



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28931 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d254c83c 17-Jan-2009 Bruno G. Albuquerque <bga@bug-br.org.br>

- Changed BNetBuffer to a simpler (and R5 compatible) implementation.
- This has the side effect that now it actually works.
- This also indirectly fix BNetEndpoint usage of BNetBuffer.
- Added DynamicBuffer (the underlying buffer implementation) to the Jamfile.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28928 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c9e62886 23-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed every (hopefully) CID cases of delete where delete[] should have been used. CID 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 143, 144, 147, 148, 149, 150

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27703 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 241b0480 28-Aug-2006 Axel Dörfler <axeld@pinc-software.de>

* Fixed build of libnetapi.so - it probably won't work for now, though, have a look
at the comment in r5_compatibility.h.
* Intentionally broke source compatibility and removed all that outdated Nettle stuff.
* Also, I took the liberty of making m_init private and rename it to fInit - again, this
will only affect source compatibility.
* Rewrote NetEndpoint.h
* Fixed quite a few small bugs around the code that I touched, for example in NetAddress,
SetTo() never set fInit, and therefore could be wrong.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18680 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6fdccb80 28-Aug-2006 Axel Dörfler <axeld@pinc-software.de>

Moved libnetapi.so sources into the src/kit/net/ directory - they don't yet build, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18678 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 67b376e9 26-Nov-2005 Waldemar Kornewald <wkornew@nowhere.fake>

Moved our networking libraries to src/kits/network/compat. We want to have our own, clean libnetwork.so.

TODO: move all public networking headers to some other place (compat or headers/legacy?) and replace the current headers with clean versions from FreeBSD and BIND 9.3.1
TODO: remove R5 target support


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15169 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2c42f7bc 13-Aug-2004 Philippe Houdoin <philippe.houdoin@gmail.com>

Complete BNetEdnpoint implementation, based on Alexandre Bique contribution.
Fix sendto() and recvfrom() sockaddr length argument to int, not size_t.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8564 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b42a6ce4 25-Oct-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Fix warnings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5164 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 665b241c 16-Dec-2002 Philippe Houdoin <philippe.houdoin@gmail.com>

Checked-in updated implementation of these classes written by
Scott Mansfield.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2263 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ae0638a6 31-Oct-2002 Philippe Houdoin <philippe.houdoin@gmail.com>

On behalf of Scott Mansfield, here come 3/4 of libnetapi.so rewritten,
and now building for your pleasure ;-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1813 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f22e3ab 25-Oct-2002 beveloper <beveloper@nowhere.fake>

small change


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1659 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f3dfda17 27-Aug-2002 Philippe Houdoin <philippe.houdoin@gmail.com>

Moving net kit libnet.so and libnetapi.so source code to /current.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@895 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dfcbef64f6515ca7089afa169770812711c02ca7 04-Jul-2015 Philippe Saint-Pierre <stpere@gmail.com>

Erratum hrev49359: Compare size with 0 rather that B_OK

Thanks Ingo!


# a495c5e69a3c9185fd4a593a12388aa457e3af35 03-Jul-2015 Philippe Saint-Pierre <stpere@gmail.com>

NetBuffer: Check result of FlattenedSize() for error

CID 610923


# 4f978fe4dbc53cdae952b9df5d618cf8d9023dcb 18-Oct-2014 Adrien Destugues <pulkomandy@gmail.com>

BNetBuffer: add some error checks.

The allocation of fImpl can fail, and some methods used it without
checking. Return an error code (or NULL or 0) instead of crashing in
these cases.

Also InitCheck the fInputBuffer in BHttpRequest before trying to use it.

Fixes #11350.


# c99f294eb0a3a4de8b8d45dd301a4c6730aac2b3 02-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

BNetBuffer: Restore semantics after DynamicBuffer -> BDataIO


# 739f15e1445aa59cc010bd8f343c5c6595836a0e 02-Jul-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "Revert "DynamicBuffer: implement BDataIO""

This reverts commit 747b401e875f19d83508cc39176f4c263182c515.


# 747b401e875f19d83508cc39176f4c263182c515 18-Jun-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

Revert "DynamicBuffer: implement BDataIO"

This reverts commit 36b1f55a1841d63f0e6487e2c62c280cb24a63c4.


# 36b1f55a1841d63f0e6487e2c62c280cb24a63c4 11-Feb-2014 Adrien Destugues <pulkomandy@pulkomandy.tk>

DynamicBuffer: implement BDataIO

This makes it possible to use it with the ZlibDecompressor.


# 754bbf4866278ecd2da2c517560bc90c67a3a6f5 26-Nov-2013 Jérôme Duval <jerome.duval@gmail.com>

libnetapi: second pass of style cleanup

* remarks from Axel


# 4650eca258ac6d68d3283f84a29baff18e077013 17-Jan-2009 Bruno G. Albuquerque <bga@bug-br.org.br>

- Implemented some suggestions by stippi.
- Corrected some bugs also pointed by him.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28933 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 31562415dea31902667019f2ca750cc5fd8e2c85 17-Jan-2009 Karsten Heimrich <host.haiku@gmx.de>

* fix gcc4 build



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28931 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d254c83c84f230b2fb07c54325c4b6180a7ed4c8 17-Jan-2009 Bruno G. Albuquerque <bga@bug-br.org.br>

- Changed BNetBuffer to a simpler (and R5 compatible) implementation.
- This has the side effect that now it actually works.
- This also indirectly fix BNetEndpoint usage of BNetBuffer.
- Added DynamicBuffer (the underlying buffer implementation) to the Jamfile.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28928 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c9e6288649ba36ff887f52fb62d4cd557fa9ef34 23-Sep-2008 Stefano Ceccherini <stefano.ceccherini@gmail.com>

Fixed every (hopefully) CID cases of delete where delete[] should have been used. CID 122, 123, 124, 125, 126, 127, 128, 129, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 142, 143, 144, 147, 148, 149, 150

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27703 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 241b048033e34efa942d1f43f8d199d086b07743 28-Aug-2006 Axel Dörfler <axeld@pinc-software.de>

* Fixed build of libnetapi.so - it probably won't work for now, though, have a look
at the comment in r5_compatibility.h.
* Intentionally broke source compatibility and removed all that outdated Nettle stuff.
* Also, I took the liberty of making m_init private and rename it to fInit - again, this
will only affect source compatibility.
* Rewrote NetEndpoint.h
* Fixed quite a few small bugs around the code that I touched, for example in NetAddress,
SetTo() never set fInit, and therefore could be wrong.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18680 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6fdccb80f57f9386b43253be9278c40fd7d5cc26 28-Aug-2006 Axel Dörfler <axeld@pinc-software.de>

Moved libnetapi.so sources into the src/kit/net/ directory - they don't yet build, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18678 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 67b376e9539ff0b7cc4914c79c0976ffb96e6790 26-Nov-2005 Waldemar Kornewald <wkornew@nowhere.fake>

Moved our networking libraries to src/kits/network/compat. We want to have our own, clean libnetwork.so.

TODO: move all public networking headers to some other place (compat or headers/legacy?) and replace the current headers with clean versions from FreeBSD and BIND 9.3.1
TODO: remove R5 target support


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15169 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2c42f7bcf1de1e01c0ea53aee13eefbec266ebc4 13-Aug-2004 Philippe Houdoin <philippe.houdoin@gmail.com>

Complete BNetEdnpoint implementation, based on Alexandre Bique contribution.
Fix sendto() and recvfrom() sockaddr length argument to int, not size_t.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8564 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b42a6ce4afa39ebb9f17d23f862542c2801ea3c5 25-Oct-2003 Philippe Houdoin <philippe.houdoin@gmail.com>

Fix warnings.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5164 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 665b241c1af743367c0684f1c8ee5bcdc36bd27e 16-Dec-2002 Philippe Houdoin <philippe.houdoin@gmail.com>

Checked-in updated implementation of these classes written by
Scott Mansfield.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2263 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ae0638a6be77feda92cf91e3ad82d0b8b652611b 31-Oct-2002 Philippe Houdoin <philippe.houdoin@gmail.com>

On behalf of Scott Mansfield, here come 3/4 of libnetapi.so rewritten,
and now building for your pleasure ;-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1813 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f22e3ab04ac6cfa6faebbed1c0139509cc89f9f 25-Oct-2002 beveloper <beveloper@nowhere.fake>

small change


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1659 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f3dfda177957165c55cbe4d0b4386bc114f48e1c 27-Aug-2002 Philippe Houdoin <philippe.houdoin@gmail.com>

Moving net kit libnet.so and libnetapi.so source code to /current.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@895 a95241bf-73f2-0310-859d-f6bbb57e9c96