]> git.sur5r.net Git - freertos/commitdiff
Don't free xQueue->ucHead if it is NULL.
authorrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Tue, 24 Dec 2013 10:47:52 +0000 (10:47 +0000)
committerrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Tue, 24 Dec 2013 10:47:52 +0000 (10:47 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2140 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

FreeRTOS/Source/queue.c

index d33db5458c267f68337a8c4b0060e0c9ea5ee914..724c438640d5bd501edcdc7319df2d3fe67c6274 100644 (file)
@@ -126,13 +126,12 @@ typedef struct QueueDefinition
 {\r
        signed char *pcHead;                                    /*< Points to the beginning of the queue storage area. */\r
        signed char *pcTail;                                    /*< Points to the byte at the end of the queue storage area.  Once more byte is allocated than necessary to store the queue items, this is used as a marker. */\r
-\r
        signed char *pcWriteTo;                                 /*< Points to the free next place in the storage area. */\r
 \r
        union                                                                   /* Use of a union is an exception to the coding standard to ensure two mutually exclusive structure members don't appear simultaneously (wasting RAM). */\r
        {\r
                signed char *pcReadFrom;                        /*< Points to the last place that a queued item was read from when the structure is used as a queue. */\r
-               unsigned portBASE_TYPE uxRecursiveCallCount;/*< Maintains a count of the numebr of times a recursive mutex has been recursively 'taken' when the structure is used as a mutex. */\r
+               unsigned portBASE_TYPE uxRecursiveCallCount;/*< Maintains a count of the number of times a recursive mutex has been recursively 'taken' when the structure is used as a mutex. */\r
        } u;\r
 \r
        xList xTasksWaitingToSend;                              /*< List of tasks that are blocked waiting to post onto this queue.  Stored in priority order. */\r
@@ -1544,7 +1543,10 @@ xQUEUE * const pxQueue = ( xQUEUE * ) xQueue;
                vQueueUnregisterQueue( pxQueue );\r
        }\r
        #endif\r
-       vPortFree( pxQueue->pcHead );\r
+       if( pxQueue->pcHead != NULL )\r
+       {\r
+               vPortFree( pxQueue->pcHead );\r
+       }\r
        vPortFree( pxQueue );\r
 }\r
 /*-----------------------------------------------------------*/\r