@@ -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