diff options
Diffstat (limited to 'lib/decompress_unlzma.c')
-rw-r--r-- | lib/decompress_unlzma.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/decompress_unlzma.c b/lib/decompress_unlzma.c index 0b954e04bd30..ca82fde81c8f 100644 --- a/lib/decompress_unlzma.c +++ b/lib/decompress_unlzma.c | |||
@@ -82,6 +82,11 @@ struct rc { | |||
82 | #define RC_MODEL_TOTAL_BITS 11 | 82 | #define RC_MODEL_TOTAL_BITS 11 |
83 | 83 | ||
84 | 84 | ||
85 | static int nofill(void *buffer, unsigned int len) | ||
86 | { | ||
87 | return -1; | ||
88 | } | ||
89 | |||
85 | /* Called twice: once at startup and once in rc_normalize() */ | 90 | /* Called twice: once at startup and once in rc_normalize() */ |
86 | static void INIT rc_read(struct rc *rc) | 91 | static void INIT rc_read(struct rc *rc) |
87 | { | 92 | { |
@@ -97,7 +102,10 @@ static inline void INIT rc_init(struct rc *rc, | |||
97 | int (*fill)(void*, unsigned int), | 102 | int (*fill)(void*, unsigned int), |
98 | char *buffer, int buffer_size) | 103 | char *buffer, int buffer_size) |
99 | { | 104 | { |
100 | rc->fill = fill; | 105 | if (fill) |
106 | rc->fill = fill; | ||
107 | else | ||
108 | rc->fill = nofill; | ||
101 | rc->buffer = (uint8_t *)buffer; | 109 | rc->buffer = (uint8_t *)buffer; |
102 | rc->buffer_size = buffer_size; | 110 | rc->buffer_size = buffer_size; |
103 | rc->buffer_end = rc->buffer + rc->buffer_size; | 111 | rc->buffer_end = rc->buffer + rc->buffer_size; |