mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-10-15 09:17:44 -04:00
* AFR sync * AFR sync: CBMC * AFR sync: CBMC: remove .bak files * AFR sync: CBMC: more cleanup * Corrected CBMC proofs * Corrected CBMC patches * Corrected CBMC patches-1 * Corrected CBMC patches-2 * remove .bak files (3) Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
87 lines
3.3 KiB
Diff
87 lines
3.3 KiB
Diff
From afc01793c4531cfbe9f92e7ca2ce9364983d987e Mon Sep 17 00:00:00 2001
|
|
From: Mark R Tuttle <mrtuttle@amazon.com>
|
|
Date: Tue, 12 May 2020 15:57:56 +0000
|
|
Subject: [PATCH] modified lib
|
|
|
|
---
|
|
.../freertos_plus_tcp/source/FreeRTOS_TCP_IP.c | 24 ++++++++++++++++++++++
|
|
1 file changed, 24 insertions(+)
|
|
|
|
diff --git a/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_TCP_IP.c b/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_TCP_IP.c
|
|
index dc58621..963b576 100644
|
|
--- a/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_TCP_IP.c
|
|
+++ b/FreeRTOS-Plus/Source/FreeRTOS-Plus-TCP/FreeRTOS_TCP_IP.c
|
|
@@ -198,14 +198,22 @@ static BaseType_t prvTCPPrepareConnect( FreeRTOS_Socket_t *pxSocket );
|
|
/*
|
|
* Parse the TCP option(s) received, if present.
|
|
*/
|
|
+#ifdef CBMC
|
|
+void prvCheckOptions( FreeRTOS_Socket_t *pxSocket, const NetworkBufferDescriptor_t *pxNetworkBuffer );
|
|
+#else
|
|
static void prvCheckOptions( FreeRTOS_Socket_t *pxSocket, const NetworkBufferDescriptor_t *pxNetworkBuffer );
|
|
+#endif
|
|
|
|
/*
|
|
* Identify and deal with a single TCP header option, advancing the pointer to
|
|
* the header. This function returns pdTRUE or pdFALSE depending on whether the
|
|
* caller should continue to parse more header options or break the loop.
|
|
*/
|
|
+#ifdef CBMC
|
|
+size_t prvSingleStepTCPHeaderOptions( const uint8_t * const pucPtr,
|
|
+#else
|
|
static size_t prvSingleStepTCPHeaderOptions( const uint8_t * const pucPtr,
|
|
+#endif
|
|
size_t uxTotalLength,
|
|
FreeRTOS_Socket_t * const pxSocket,
|
|
BaseType_t xHasSYNFlag );
|
|
@@ -214,7 +222,11 @@ static size_t prvSingleStepTCPHeaderOptions( const uint8_t * const pucPtr,
|
|
* Skip past TCP header options when doing Selective ACK, until there are no
|
|
* more options left.
|
|
*/
|
|
+#ifdef CBMC
|
|
+void prvReadSackOption( const uint8_t * const pucPtr,
|
|
+#else
|
|
static void prvReadSackOption( const uint8_t * const pucPtr,
|
|
+#endif
|
|
size_t uxIndex,
|
|
FreeRTOS_Socket_t * const pxSocket );
|
|
|
|
@@ -1137,7 +1149,11 @@ uint32_t ulInitialSequenceNumber = 0;
|
|
* that: ((pxTCPHeader->ucTCPOffset & 0xf0) > 0x50), meaning that the TP header
|
|
* is longer than the usual 20 (5 x 4) bytes.
|
|
*/
|
|
+#ifdef CBMC
|
|
+void prvCheckOptions( FreeRTOS_Socket_t *pxSocket, const NetworkBufferDescriptor_t *pxNetworkBuffer )
|
|
+#else
|
|
static void prvCheckOptions( FreeRTOS_Socket_t *pxSocket, const NetworkBufferDescriptor_t *pxNetworkBuffer )
|
|
+#endif
|
|
{
|
|
size_t uxTCPHeaderOffset = ipSIZE_OF_ETH_HEADER + xIPHeaderSize( pxNetworkBuffer );
|
|
const ProtocolHeaders_t *pxProtocolHeaders = ipPOINTER_CAST( ProtocolHeaders_t *,
|
|
@@ -1201,7 +1217,11 @@ uint8_t ucLength;
|
|
}
|
|
/*-----------------------------------------------------------*/
|
|
|
|
+#ifdef CBMC
|
|
+size_t prvSingleStepTCPHeaderOptions( const uint8_t * const pucPtr,
|
|
+#else
|
|
static size_t prvSingleStepTCPHeaderOptions( const uint8_t * const pucPtr,
|
|
+#endif
|
|
size_t uxTotalLength,
|
|
FreeRTOS_Socket_t * const pxSocket,
|
|
BaseType_t xHasSYNFlag )
|
|
@@ -1346,7 +1366,11 @@ TCPWindow_t *pxTCPWindow = &( pxSocket->u.xTCP.xTCPWindow );
|
|
}
|
|
/*-----------------------------------------------------------*/
|
|
|
|
+#ifdef CBMC
|
|
+void prvReadSackOption( const uint8_t * const pucPtr,
|
|
+#else
|
|
static void prvReadSackOption( const uint8_t * const pucPtr,
|
|
+#endif
|
|
size_t uxIndex,
|
|
FreeRTOS_Socket_t * const pxSocket )
|
|
{
|
|
--
|
|
2.7.4
|
|
|