summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
c149381)
* cdb_decompress_if_necessary(): don't lean on cdb being big enough to fill our header
char *uncompressed_data;
char *compressed_data;
uLongf destLen, sourceLen;
char *uncompressed_data;
char *compressed_data;
uLongf destLen, sourceLen;
- memcpy(&zheader, cdb->ptr, sizeof(struct CtdlCompressHeader));
+ memset(&zheader, 0, sizeof(struct CtdlCompressHeader));
+ cplen = sizeof(struct CtdlCompressHeader);
+ if (sizeof(struct CtdlCompressHeader) > cdb->len)
+ cplen = cdb->len;
+ memcpy(&zheader, cdb->ptr, cplen);
compressed_data = cdb->ptr;
compressed_data += sizeof(struct CtdlCompressHeader);
compressed_data = cdb->ptr;
compressed_data += sizeof(struct CtdlCompressHeader);