Skip to content

Commit 48eb88e

Browse files
authored
Merge pull request #27 from fuweid/fix-checkptr-issue
fix: checkptr issue
2 parents 1539353 + d44cb8e commit 48eb88e

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ language: go
33

44
go:
55
- "1.13.x"
6+
- "1.15.x"
67

78
before_install:
89
- sudo apt-get update

btrfs.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ func SubvolCreate(path string) error {
275275
if len(name) > C.BTRFS_PATH_NAME_MAX {
276276
return errors.Errorf("%q too long for subvolume", name)
277277
}
278-
nameptr := (*[maxByteSliceSize]byte)(unsafe.Pointer(&args.name[0]))
278+
nameptr := (*[maxByteSliceSize]byte)(unsafe.Pointer(&args.name[0]))[:C.BTRFS_PATH_NAME_MAX:C.BTRFS_PATH_NAME_MAX]
279279
copy(nameptr[:C.BTRFS_PATH_NAME_MAX], []byte(name))
280280

281281
if err := ioctl(fp.Fd(), C.BTRFS_IOC_SUBVOL_CREATE, uintptr(unsafe.Pointer(&args))); err != nil {
@@ -311,7 +311,7 @@ func SubvolSnapshot(dst, src string, readonly bool) error {
311311
return errors.Errorf("%q too long for subvolume", dstname)
312312
}
313313

314-
nameptr := (*[maxByteSliceSize]byte)(unsafe.Pointer(name))
314+
nameptr := (*[maxByteSliceSize]byte)(unsafe.Pointer(name))[:C.BTRFS_SUBVOL_NAME_MAX:C.BTRFS_SUBVOL_NAME_MAX]
315315
copy(nameptr[:C.BTRFS_SUBVOL_NAME_MAX], []byte(dstname))
316316

317317
if readonly {
@@ -370,7 +370,7 @@ func SubvolDelete(path string) error {
370370
return errors.Errorf("%q too long for subvolume", name)
371371
}
372372

373-
nameptr := (*[maxByteSliceSize]byte)(unsafe.Pointer(&args.name[0]))
373+
nameptr := (*[maxByteSliceSize]byte)(unsafe.Pointer(&args.name[0]))[:C.BTRFS_SUBVOL_NAME_MAX:C.BTRFS_SUBVOL_NAME_MAX]
374374
copy(nameptr[:C.BTRFS_SUBVOL_NAME_MAX], []byte(name))
375375

376376
if err := ioctl(fp.Fd(), C.BTRFS_IOC_SNAP_DESTROY, uintptr(unsafe.Pointer(&args))); err != nil {

0 commit comments

Comments
 (0)