tree d333a75d4bcfa3d9ef6a65c177bf003a42f1b83f
parent 11174fb860ae4aaca544b2ad12df040b81a132e3
author Florian La Roche <florian.laroche@gmail.com> 1717748233 +0200
committer GitHub <noreply@github.com> 1717748233 +0530
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmYsIJCRC1aQ7uu5UhlAAAJgcQALBtOU27gKMiW+8NOfLvIWSE
 ams9sHuiWmBKulk0xJ9WaviLpQZ1jyIv+SGW2HnSZeAa/o/T0jIEQehW3HaJadGr
 GqLuz4y8Sl6XJrR3fOuCZcCccNF1xhEJ4s4hju/fIFmERRYQUseL/rNhj5ufY730
 dauy6Puti921h/BnjYeGjv1LRGADNwz+90ZhPk0bzz8fxffJ+6fZteJ0geNtp7VK
 6dcsagudQTmwwU8B9zsikmvX6EZkWuio7lpnEUwum60ZTFoU7JLB4ygthrGFZvTe
 oJsZ/DAKYlACoTAm8nOBoWVMNX2IDKXXGcVg59ydpgipBaxAA0g6ekwfQx3CHUJg
 jvzz7DWv8aysnGE4/YkarV7fjLNRZwgShF1XhUyS16yW5YOMe99BYrgAQEmIleaQ
 z10LiZ8H5ystf5JPwtRKm3/KBIrh+tST2artvSnApacteqWJCBkWvmMXg7oi5m7e
 kWA6TGJosK/qyPExt5Xfv0clK+uRflEQR+9ISnDI+5MJBkgwXOW0TBQdKVCJXh+3
 JMcCmHaay6CXPj7stAoflRtn1A2UVNv52I0PbeZAoZ4nczIPpHHg9t80iU3Kwuzo
 MyUzQJg2yLXNDz9PUv0E1LUoVpmarXPMoRj2yFR3TwoAQx1Ewj941BeSbjU4xDR7
 z/DT6VD6XhC+2KPNZX1y
 =BLFX
 -----END PGP SIGNATURE-----
 

event_create(): check malloc() return value to be non-NULL (#1084)

* event_create(): check malloc() to be non-NULL

Check malloc() to return non-NULL before writing data
in the function event_create().

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>

* Code review suggestion

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

---------

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>