https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292528
Dave Baukus <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|Affects Only Me |Affects Some People --- Comment #1 from Dave Baukus <[email protected]> --- I've decomposed some broken samba vfs_freebsd.c acl code down to the following simple test of strlcpy(3); this test works on older freeBSD13 but not on my FreeBSD14.3 #include <stdio.h> #include <string.h> void listX(char *list, size_t size) { char *p, *q; int len; p = list; q = list; len = p[0] + 1; printf("copy len = %d\n", len); printf("list data = %s\n", &p[1]); (void)strlcpy(q, p + 1, len); printf("list after copy q = %s, list = %s\n", q, list); } int main() { char data[32] = "\005NTACL"; char *p = data; int len; len = p[0]; printf("len = %d\n", len); listX(data, sizeof(data)); return 0; } Correct output on 13.1-STABLE: len = 5 copy len = 6 list data = NTACL list after copy q = NTACL, list = NTACL Incorrect output on 14.3-STABLE (note truncated 'L'): len = 5 list len = 6 list data = NTACL list after copy q = NTAC, list = NTAC The I derived the above code from my broken Samba 4.22.6; -- You are receiving this mail because: You are the assignee for the bug.
