diff options
Diffstat (limited to 'src/lib/cbfs.c')
-rw-r--r-- | src/lib/cbfs.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/lib/cbfs.c b/src/lib/cbfs.c index ad45ece95a..780d69f488 100644 --- a/src/lib/cbfs.c +++ b/src/lib/cbfs.c @@ -29,6 +29,8 @@ #define ntohl(x) (x) #endif +unsigned long ulzma(unsigned char *src, unsigned char *dst); + int cbfs_decompress(int algo, void *src, void *dst, int len) { switch(algo) { @@ -36,15 +38,15 @@ int cbfs_decompress(int algo, void *src, void *dst, int len) memcpy(dst, src, len); return 0; - case CBFS_COMPRESS_LZMA: { - unsigned long ulzma(unsigned char *src, unsigned char *dst); - ulzma(src, dst); - } + case CBFS_COMPRESS_LZMA: + if (!ulzma(src, dst)) { + printk_err("CBFS: LZMA decompression failed!\n"); + return -1; + } return 0; default: - printk_info( "CBFS: Unknown compression type %d\n", - algo); + printk_info( "CBFS: Unknown compression type %d\n", algo); return -1; } } |