← Commit list

8ae6e9be5

Denys Vlasenko
Denys Vlasenko
2010-09-04
FAILED Duration: 357s

Subject

lzop: fix misordered "v=NULL; free(v)", small code shrink

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

archival/lzop.c+22 -15
@@ -697,10 +697,16 @@ static NOINLINE smallint lzo_compress(const header_t *h)
return ok;
}
-static void lzo_check(uint32_t FAST_FUNC (*fn)(uint32_t, const uint8_t*, unsigned),
- uint32_t ref, uint32_t init,
- uint8_t* buf, unsigned len)
+static FAST_FUNC void lzo_check(
+ uint32_t init,
+ uint8_t* buf, unsigned len,
+ uint32_t FAST_FUNC (*fn)(uint32_t, const uint8_t*, unsigned),
+ uint32_t ref)
{
+ /* This function, by having the same order of parameters
+ * as fn, and by being marked FAST_FUNC (same as fn),
+ * saves a dozen bytes of code.
+ */
uint32_t c = fn(init, buf, len);
if (c != ref)
bb_error_msg_and_die("checksum error");
@@ -747,9 +753,8 @@ static NOINLINE smallint lzo_decompress(const header_t *h)
if (dst_len > block_size) {
if (b2) {
-//FIXME!
- b2 = NULL;
free(b2);
+ b2 = NULL;
}
block_size = dst_len;
mcs_block_size = MAX_COMPRESSED_SIZE(block_size);
@@ -781,13 +786,13 @@ static NOINLINE smallint lzo_decompress(const header_t *h)
if (!(option_mask32 & OPT_F)) {
/* verify checksum of compressed block */
if (h->flags & F_ADLER32_C)
- lzo_check(lzo_adler32, c_adler32,
- ADLER32_INIT_VALUE,
- b1, src_len);
+ lzo_check(ADLER32_INIT_VALUE,
+ b1, src_len,
+ lzo_adler32, c_adler32);
if (h->flags & F_CRC32_C)
- lzo_check(lzo_crc32, c_crc32,
- CRC32_INIT_VALUE,
- b1, src_len);
+ lzo_check(CRC32_INIT_VALUE,
+ b1, src_len,
+ lzo_crc32, c_crc32);
}
/* decompress */
@@ -808,11 +813,13 @@ static NOINLINE smallint lzo_decompress(const header_t *h)
if (!(option_mask32 & OPT_F)) {
/* verify checksum of uncompressed block */
if (h->flags & F_ADLER32_D)
- lzo_check(lzo_adler32, d_adler32, ADLER32_INIT_VALUE,
- dst, dst_len);
+ lzo_check(ADLER32_INIT_VALUE,
+ dst, dst_len,
+ lzo_adler32, d_adler32);
if (h->flags & F_CRC32_D)
- lzo_check(lzo_crc32, d_crc32, CRC32_INIT_VALUE,
- dst, dst_len);
+ lzo_check(CRC32_INIT_VALUE,
+ dst, dst_len,
+ lzo_crc32, d_crc32);
}
/* write uncompressed block data */