arm: mvebu: kwbimage: inline function to fix use-after-free
authorPatrick Wildt <patrick@blueri.se>
Wed, 10 May 2017 20:18:54 +0000 (22:18 +0200)
committerStefan Roese <sr@denx.de>
Wed, 31 May 2017 05:43:04 +0000 (07:43 +0200)
commit6cbf7eda3cbe0f8cbaa84b4daaa86dfa2a696a77
tree76eaed955cbd27a43f46ec70d805b5f886336ae4
parentf3d9ec2a6926bd436f15298ab9cebab061ab159a
arm: mvebu: kwbimage: inline function to fix use-after-free

image_version_file()'s only use is to return the version number of the
specified image, and it's only called by kwbimage_generate().  This
version function mallocs "image_cfg" and reads the contents of the image
into that buffer.  Before return to its caller it frees the buffer.

After extracting the version, kwb_image_generate() tries to calculate
the header size by calling image_headersz_v1().  This function now
accesses "image_cfg", which has already been freed.

Since image_version_file() is only used by a single function, inline it
into kwbimage_generate() and only free the buffer after it is no longer
needed.  This also improves code readability since the code is mostly
equal to kwbimage_set_header().

Signed-off-by: Patrick Wildt <patrick@blueri.se>
Signed-off-by: Stefan Roese <sr@denx.de>
tools/kwbimage.c