Displaying 2 results from an estimated 2 matches for "settings_dup_full".
2019 Jul 09
6
Dovecot 2.3.6 on Solaris10: build issues, segfaults
...setting_copy())
*dest_size = *src_size;
It appears *src_size is not an 8-byte address aligned (0x5597c).
It inherits this value from the calling routine as the sum of
"set" (8-byte aligned) + "def->offset"=20 => misaligned address.
(settings-parser.c:1597 in settings_dup_full())
src = CONST_PTR_OFFSET(set, def->offset);
(gdb) p set
$2 = (const void *) 0x55968
(gdb) p *def
$3 = {type = SET_SIZE, key = 0x2d548 "submission_max_mail_size", offset = 20, list_info = 0x0}
(gdb) bt full
#0 0xff190690 in setting_copy (type=SET_SIZE, src=0x5798c...
2019 Jul 10
0
Dovecot 2.3.6 on Solaris10: build issues, segfaults
...This is correct code.
> It appears *src_size is not an 8-byte address aligned (0x5597c).
> It inherits this value from the calling routine as the sum of
> "set" (8-byte aligned) + "def->offset"=20 => misaligned address.
>
> (settings-parser.c:1597 in settings_dup_full())
> src = CONST_PTR_OFFSET(set, def->offset);
>
> (gdb) p set
> $2 = (const void *) 0x55968
> (gdb) p *def
> $3 = {type = SET_SIZE, key = 0x2d548 "submission_max_mail_size", offset = 20, list_info = 0x0}
This is unexpected. But I don't see how it'...