https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=216127
Conrad Meyer <c...@freebsd.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |c...@freebsd.org Assignee|freebsd-bugs@FreeBSD.org |c...@freebsd.org --- Comment #1 from Conrad Meyer <c...@freebsd.org> --- It appears that dump just dumps raw extattr data from UFS. The routine in restore responsible for parsing that raw data and turning it into syscalls on the receiving filesystem is set_extattr_fd() in tape.c. The intent of the "system, (16 bytes), mb1946a (unable to set)" print is to print the namespace, extattr data length, and name of the extattr. The problem appears to be that restore is using "%*s" rather than "%.*s" to print the non-null-terminated eap->ea_name. The former is the field width, while the latter is the precision. Only precision controls the number of characters printed by a %s format. The same naive behavior around non-null-terminated ea_name leads to the same bogus string being passed into extattr_set_fd() (or extattr_set_link, etc for the other variants) and used to check for ACL attributes. -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ freebsd-bugs@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"