aboutsummaryrefslogtreecommitdiff
path: root/util/cbfstool/cbfs-mkstage.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/cbfstool/cbfs-mkstage.c')
-rw-r--r--util/cbfstool/cbfs-mkstage.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/util/cbfstool/cbfs-mkstage.c b/util/cbfstool/cbfs-mkstage.c
index d795c7c0e2..8c77ee5e65 100644
--- a/util/cbfstool/cbfs-mkstage.c
+++ b/util/cbfstool/cbfs-mkstage.c
@@ -156,9 +156,12 @@ int parse_elf_to_stage(const struct buffer *input, struct buffer *output,
* - the output header is a known size (not always true in many xdr's)
* - we do need to know the compressed output size first
*/
- compress(buffer, data_end - data_start,
- (output->data + sizeof(struct cbfs_stage)),
- &outlen);
+ if (compress(buffer, data_end - data_start,
+ (output->data + sizeof(struct cbfs_stage)),
+ &outlen) < 0) {
+ free(buffer);
+ return -1;
+ }
free(buffer);
/* Set up for output marshaling. */