|
|
@@ -81,7 +81,10 @@ func Lgetxattr(link string, attr string, dest []byte) (sz int, err error) {
|
|
|
// flags are unused on FreeBSD
|
|
|
|
|
|
func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
|
|
|
- d := unsafe.Pointer(&data[0])
|
|
|
+ var d unsafe.Pointer
|
|
|
+ if len(data) > 0 {
|
|
|
+ d = unsafe.Pointer(&data[0])
|
|
|
+ }
|
|
|
datasiz := len(data)
|
|
|
|
|
|
nsid, a, err := xattrnamespace(attr)
|
|
|
@@ -94,7 +97,10 @@ func Fsetxattr(fd int, attr string, data []byte, flags int) (err error) {
|
|
|
}
|
|
|
|
|
|
func Setxattr(file string, attr string, data []byte, flags int) (err error) {
|
|
|
- d := unsafe.Pointer(&data[0])
|
|
|
+ var d unsafe.Pointer
|
|
|
+ if len(data) > 0 {
|
|
|
+ d = unsafe.Pointer(&data[0])
|
|
|
+ }
|
|
|
datasiz := len(data)
|
|
|
|
|
|
nsid, a, err := xattrnamespace(attr)
|
|
|
@@ -107,7 +113,10 @@ func Setxattr(file string, attr string, data []byte, flags int) (err error) {
|
|
|
}
|
|
|
|
|
|
func Lsetxattr(link string, attr string, data []byte, flags int) (err error) {
|
|
|
- d := unsafe.Pointer(&data[0])
|
|
|
+ var d unsafe.Pointer
|
|
|
+ if len(data) > 0 {
|
|
|
+ d = unsafe.Pointer(&data[0])
|
|
|
+ }
|
|
|
datasiz := len(data)
|
|
|
|
|
|
nsid, a, err := xattrnamespace(attr)
|