diff --git a/README.md b/README.md index 38cb586222..5409021180 100644 --- a/README.md +++ b/README.md @@ -102,15 +102,15 @@ See the readme file in the ```./portable``` directory for more information. FreeRTOS files are formatted using the "uncrustify" tool. The configuration file used by uncrustify can be found in the [.github/uncrustify.cfg](.github/uncrustify.cfg) file. ### Line Endings -File checked into the FreeRTOS-Kernel repository use unix-style LF line endings for the best compatbility with git. +File checked into the FreeRTOS-Kernel repository use unix-style LF line endings for the best compatibility with git. -For optmial compatibility with Microsoft Windows tools, it is best to enable the git autocrlf feature. You can eanble this setting for the current repository using the following command: +For optimal compatibility with Microsoft Windows tools, it is best to enable the git autocrlf feature. You can enable this setting for the current repository using the following command: ``` git config core.autocrlf true ``` ### Git History Optimizations -Some commits in this repository perform large refactors which touch many lines and lead to unwanted behavior when using the `git blame` command. You can configure git to ignore the list of large refactor commits in this repository with the followig command: +Some commits in this repository perform large refactors which touch many lines and lead to unwanted behavior when using the `git blame` command. You can configure git to ignore the list of large refactor commits in this repository with the following command: ``` git config blame.ignoreRevsFile .git-blame-ignore-revs ``` diff --git a/portable/MemMang/heap_2.c b/portable/MemMang/heap_2.c index 5c3cb55b16..c041443957 100644 --- a/portable/MemMang/heap_2.c +++ b/portable/MemMang/heap_2.c @@ -229,9 +229,10 @@ void * pvPortMalloc( size_t xWantedSize ) pxNewBlockLink->xBlockSize = pxBlock->xBlockSize - xWantedSize; pxBlock->xBlockSize = xWantedSize; - /* Insert the new block into the list of free blocks. */ - pxNewBlockLink->pxNextFreeBlock = pxPreviousBlock->pxNextFreeBlock; - pxPreviousBlock->pxNextFreeBlock = pxNewBlockLink; + /* Insert the new block into the list of free blocks. + * The list of free blocks is sorted by their size, we have to + * iterate to find the right place to insert new block. */ + prvInsertBlockIntoFreeList( ( pxNewBlockLink ) ); } xFreeBytesRemaining -= pxBlock->xBlockSize;