| Index: third_party/libwebp/utils/bit_writer.c
|
| diff --git a/third_party/libwebp/utils/bit_writer.c b/third_party/libwebp/utils/bit_writer.c
|
| index 3827a13ad1efe7be95808c7b5510a2838aafa30b..29810a17492fa4a53a0809ae5959a207a6246747 100644
|
| --- a/third_party/libwebp/utils/bit_writer.c
|
| +++ b/third_party/libwebp/utils/bit_writer.c
|
| @@ -17,10 +17,6 @@
|
| #include <stdlib.h>
|
| #include "./bit_writer.h"
|
|
|
| -#if defined(__cplusplus) || defined(c_plusplus)
|
| -extern "C" {
|
| -#endif
|
| -
|
| //------------------------------------------------------------------------------
|
| // VP8BitWriter
|
|
|
| @@ -43,7 +39,10 @@ static int BitWriterResize(VP8BitWriter* const bw, size_t extra_size) {
|
| bw->error_ = 1;
|
| return 0;
|
| }
|
| - memcpy(new_buf, bw->buf_, bw->pos_);
|
| + if (bw->pos_ > 0) {
|
| + assert(bw->buf_ != NULL);
|
| + memcpy(new_buf, bw->buf_, bw->pos_);
|
| + }
|
| free(bw->buf_);
|
| bw->buf_ = new_buf;
|
| bw->max_pos_ = new_size;
|
| @@ -253,7 +252,7 @@ void VP8LWriteBits(VP8LBitWriter* const bw, int n_bits, uint32_t bits) {
|
| uint8_t* p = &bw->buf_[bw->bit_pos_ >> 3];
|
| const int bits_reserved_in_first_byte = bw->bit_pos_ & 7;
|
| const int bits_left_to_write = n_bits - 8 + bits_reserved_in_first_byte;
|
| - // implicit & 0xff is assumed for uint8_t arithmetics
|
| + // implicit & 0xff is assumed for uint8_t arithmetic
|
| *p++ |= bits << bits_reserved_in_first_byte;
|
| bits >>= 8 - bits_reserved_in_first_byte;
|
| if (bits_left_to_write >= 1) {
|
| @@ -281,6 +280,3 @@ void VP8LWriteBits(VP8LBitWriter* const bw, int n_bits, uint32_t bits) {
|
|
|
| //------------------------------------------------------------------------------
|
|
|
| -#if defined(__cplusplus) || defined(c_plusplus)
|
| -} // extern "C"
|
| -#endif
|
|
|