The Samba-Bugzilla – Bug 5189
smbc_listxattr_ctx always returns 4 rather than 373 or so
Last modified: 2008-01-15 20:34:41 UTC
In samba-3.0.28/source/libsmb/libsmbclient.c the function smbc_listxattr_ctx makes use of sizeof(supported) as a substitute for something like strlen, because supported points to one of two statically allocated buffers containing embedded NULLs. However, supported is declared as a pointer, so sizeof(supported) is always 4 or 8, etc. not the size of the static buffer which is more like 373.
This causes the list of extended attributes returned to be "syst" rather than the more extensive list intended.
Created attachment 3092 [details]
Patch to fix bug, use sizeof(supported_old), etc.
This introduces a new variable to hold the size of the static buffer, and it is set when supported is set.
Fixed in v3-2-test. Thanks!