1824 libsmbns needs to mask PUBLIC_BITS while byteswapping
Reviewed by: Gordon Ross <
[email protected]>
Reviewed by: Jason King <
[email protected]>
Reviewed by: Robert Mustacchi <
[email protected]>
Approved by: Gordon Ross <
[email protected]>
--- a/usr/src/lib/smbsrv/libsmbns/common/smbns_netbios_cache.c Mon May 16 05:36:07 2011 +0100
+++ b/usr/src/lib/smbsrv/libsmbns/common/smbns_netbios_cache.c Mon May 16 05:39:20 2011 +0100
@@ -420,8 +420,8 @@
(strcasecmp((char *)scope, (char *)name->scope) == 0)) {
bcopy(name->name, scan, NETBIOS_NAME_SZ);
scan += NETBIOS_NAME_SZ;
- *scan++ = PUBLIC_BITS(name->attributes) >> 8;
- *scan++ = PUBLIC_BITS(name->attributes);
+ *scan++ = (PUBLIC_BITS(name->attributes) >> 8) & 0xff;
+ *scan++ = PUBLIC_BITS(name->attributes) & 0xff;
(*numnames)++;
}