i_stream_header_filter_seek_to_header(mstream, v_offset);
} else {
/* body */
- v_offset += mstream->header_size.physical_size -
- mstream->header_size.virtual_size;
+ v_offset -= mstream->header_size.virtual_size;
+ v_offset += mstream->header_size.physical_size;
i_stream_seek(stream->parent,
stream->parent_start_offset + v_offset);
}
str_truncate(str, 0);
ret = 0;
for (j = 0; input[j] != '\0'; j++) {
- unsigned char c = input[j];
+ unsigned char c = (unsigned char)input[j];
if (qp_decoder_more(qp, &c, 1, &error_pos, &error) < 0)
ret = -1;
}
memarea_get_refcount(stream->memarea) > 1)) {
void *old_w_buffer = stream->w_buffer;
stream->w_buffer = i_malloc(cur_max);
- memcpy(stream->w_buffer, old_w_buffer,
- I_MIN(stream->buffer_size, cur_max));
+ if (stream->buffer_size != 0) {
+ memcpy(stream->w_buffer, old_w_buffer,
+ I_MIN(stream->buffer_size, cur_max));
+ }
stream->buffer = stream->w_buffer;
stream->buffer_size = cur_max;
MAX_BASE64_DECODED_SIZE(strlen(tests[i].input));
buffer_create_from_data(&buf,
- (max_decoded_size == 0 ? NULL :
+ (max_decoded_size == 0 ? "" :
t_malloc0(max_decoded_size)),
max_decoded_size);
str = &buf;
MAX_BASE64_DECODED_SIZE(strlen(tests[i].input));
buffer_create_from_data(&buf,
- (max_decoded_size == 0 ? NULL :
+ (max_decoded_size == 0 ? "" :
t_malloc0(max_decoded_size)),
max_decoded_size);
str = &buf;
MAX_BASE64_DECODED_SIZE(strlen(test->input));
buffer_create_from_data(&buf,
- (max_decoded_size == 0 ? NULL :
+ (max_decoded_size == 0 ? "" :
t_malloc0(max_decoded_size)),
max_decoded_size);
str = &buf;
i_set_debug_handler(test_ds_growing_debug);
buf = t_buffer_get(alloc1);
for (i = 0; i < alloc1; i++)
- buf[i] = i;
+ buf[i] = i & 0xff;
test_assert(ds_grow_event_count == 0);
buf = t_buffer_reget(buf, 65536);