mem_ap: fix a potential memory leak in mem_ap_target_create() 23/4923/2
authorAntonio Borneo <borneo.antonio@gmail.com>
Fri, 15 Feb 2019 20:26:27 +0000 (21:26 +0100)
committerTomas Vanek <vanekt@fbl.cz>
Mon, 25 Feb 2019 21:53:59 +0000 (21:53 +0000)
commit1c6f7075f75db1e4da3b918a8c64f2b178712942
tree90635fa3c31a39ba6251d59ee1bf6ffa59142fdb
parent3b39618eb5ab2bcceb00acaba3df303c4d9fa51e
mem_ap: fix a potential memory leak in mem_ap_target_create()

If the function mem_ap_target_create() exits for an error, the
value of pointer mem_ap get lost, causing a memory leak.

Move the allocation of mem_ap after the check on the parameters.
While there, add a check on the value returned by calloc().

Issue highlighted by clang 7.0.0.

Change-Id: Ia2c11b14fde9694f28bf6efe01d278923db0f0d4
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/4923
Reviewed-by: Tomas Vanek <vanekt@fbl.cz>
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
src/target/mem_ap.c