Fixed wrong STATUS_BUFFER_TOO_SMALL return to documented success return
in the buffer too small case.
Modified: trunk/reactos/drivers/net/tcpip/tcpip/info.c
Modified: trunk/reactos/drivers/net/tcpip/tcpip/main.c
_____
Modified: trunk/reactos/drivers/net/tcpip/tcpip/info.c
--- trunk/reactos/drivers/net/tcpip/tcpip/info.c 2005-05-12
21:46:50 UTC (rev 15252)
+++ trunk/reactos/drivers/net/tcpip/tcpip/info.c 2005-05-13
02:05:15 UTC (rev 15253)
@@ -16,8 +16,11 @@
PNDIS_BUFFER ClientBuf, PUINT ClientBufSize ) {
UINT RememberedCBSize = *ClientBufSize;
*ClientBufSize = SizeOut;
+
+ /* The driver returns success even when it couldn't fit every
available
+ * byte. */
if( RememberedCBSize < SizeOut )
- return TDI_BUFFER_TOO_SMALL;
+ return TDI_SUCCESS;
else {
CopyBufferToBufferChain( ClientBuf, 0, (PCHAR)DataOut, SizeOut
);
return TDI_SUCCESS;
@@ -88,11 +91,14 @@
Size = EntityCount * sizeof(TDIEntityID);
*BufferSize = Size;
+ TI_DbgPrint(DEBUG_INFO,("BufSize: %d, NeededSize: %d\n", BufSize,
Size));
+
if (BufSize < Size)
{
TcpipReleaseSpinLock( &EntityListLock, OldIrql );
- /* The buffer is too small to contain requested data */
- return TDI_BUFFER_TOO_SMALL;
+ /* The buffer is too small to contain requested data, but we
return
+ * success anyway, as we did everything we wanted. */
+ return TDI_SUCCESS;
}
/* Return entity list -- Copy only the TDIEntityID parts. */
_____
Modified: trunk/reactos/drivers/net/tcpip/tcpip/main.c
--- trunk/reactos/drivers/net/tcpip/tcpip/main.c 2005-05-12
21:46:50 UTC (rev 15252)
+++ trunk/reactos/drivers/net/tcpip/tcpip/main.c 2005-05-13
02:05:15 UTC (rev 15253)
@@ -9,7 +9,7 @@
*/
#include "precomp.h"
-#define NDEBUG
+//#define NDEBUG
#ifndef NDEBUG
DWORD DebugTraceLevel = DEBUG_ULTRA & ~(DEBUG_LOCK | DEBUG_PBUFFER);
Show replies by date