)]}'
{
  "commit": "618e165fa738e61ede4668c6907f8ecc85864d36",
  "tree": "f5ceb1dd84f1c19467fb619e0634f11e5976fecd",
  "parents": [
    "dc9c034c854e3a6e004062a84806a07af6008a34"
  ],
  "author": {
    "name": "Gaurav Aggarwal",
    "email": "aggarg@amazon.com",
    "time": "Thu Aug 04 16:41:33 2022 +0530"
  },
  "committer": {
    "name": "Paul Bartell",
    "email": "paul.bartell@gmail.com",
    "time": "Thu Aug 04 09:57:59 2022 -0700"
  },
  "message": "Fix NULL pointer dereference in vPortGetHeapStats\n\nWhen the heap is exhausted (no free block), start and end markers are\nthe only blocks present in the free block list:\n\n     +---------------+     +-----------\u003e NULL\n     |               |     |\n     |               V     |\n+ ----- +            + ----- +\n|   |   |            |   |   |\n|   |   |            |   |   |\n+ ----- +            + ----- +\n  xStart               pxEnd\n\nThe code block which traverses the list of free blocks to calculate heap\nstats used a do..while loop that moved past the end marker when the heap\nhad no free block resulting in a NULL pointer dereference. This commit\nchanges the do..while loop to while loop thereby ensuring that we never\nmove past the end marker.\n\nThis was reported here - https://github.com/FreeRTOS/FreeRTOS-Kernel/issues/534\n\nSigned-off-by: Gaurav Aggarwal \u003caggarg@amazon.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "90a20c54fc55c7909e9bbf85b1ebf758d5d3665b",
      "old_mode": 33188,
      "old_path": "portable/MemMang/heap_4.c",
      "new_id": "834ba2eafc48e5217b36096f911fffab67029eeb",
      "new_mode": 33188,
      "new_path": "portable/MemMang/heap_4.c"
    },
    {
      "type": "modify",
      "old_id": "4fea255b1b1ff2180ce55ebe6e9380b3ead02796",
      "old_mode": 33188,
      "old_path": "portable/MemMang/heap_5.c",
      "new_id": "193155a45845b13341135873a3710028606c7eef",
      "new_mode": 33188,
      "new_path": "portable/MemMang/heap_5.c"
    }
  ]
}
