)]}'
{
  "commit": "d5d752a9b6a79c2b5cf2f7953c4bf80e3f35433b",
  "tree": "87adb5aa9a4b065530ef81d3321dacdfca1194d0",
  "parents": [
    "97328600dbe369be3e4dfd92dea082f577d35a62"
  ],
  "author": {
    "name": "Archit Gupta",
    "email": "archigup@amazon.com",
    "time": "Fri Jun 12 18:55:13 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Fri Jun 12 18:55:13 2026 +0000"
  },
  "message": "Fix spurious heap_5 assert when allocation search reaches end marker (#1425)\n\nWhen configENABLE_HEAP_PROTECTOR is 1 and a pvPortMalloc() request cannot\nbe satisfied by any free block, the free list search advances onto the end\nmarker (pxEnd) and validates it with heapVALIDATE_BLOCK_POINTER().\n\npxEnd is located at pucHeapHighAddress and is not part of the usable heap,\nso the macro\u0027s \"( pxBlock ) \u003c pucHeapHighAddress\" bounds check fails and the\nconfigASSERT() fires on what is a normal out-of-memory condition. The code\nshould instead fall through and call the malloc failed hook.\n\nExclude the end marker from validation in the search loop so an allocation\nthat cannot be satisfied returns NULL (and invokes vApplicationMallocFailedHook\nwhen configUSE_MALLOC_FAILED_HOOK is 1) without asserting.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bf321304f814e11229c26a56825303a0bda94a0a",
      "old_mode": 33188,
      "old_path": "portable/MemMang/heap_5.c",
      "new_id": "a54381b0cd8623995f2c9414434eea677b5ca916",
      "new_mode": 33188,
      "new_path": "portable/MemMang/heap_5.c"
    }
  ]
}
