diff options
| author | copilot-swe-agent[bot] | 2025-07-07 18:18:12 +0000 | 
|---|---|---|
| committer | rfjakob | 2025-07-08 19:54:14 +0200 | 
| commit | 386232f39ede046d6453a0990ad40f2d86a26f53 (patch) | |
| tree | 8703ecc54e402af3dbcd3122f840c21f57242437 /internal/syscallcompat/sys_linux.go | |
| parent | 8f5df19b353e02ffba842fd1b15ccf93da7ee3b4 (diff) | |
Fix all staticcheck errors in gocryptfs codebase
Co-authored-by: rfjakob <286847+rfjakob@users.noreply.github.com>
Add staticcheck to test.bash for continuous static analysis
Co-authored-by: rfjakob <286847+rfjakob@users.noreply.github.com>
Fix nil pointer dereference in timesToTimespec function
The previous fix for deprecated fuse.UtimeToTimespec caused a panic
because unix.TimeToTimespec doesn't handle nil pointers. This fix
properly handles nil pointers by using unix.UTIME_OMIT while still
using the non-deprecated unix.TimeToTimespec function.
Co-authored-by: rfjakob <286847+rfjakob@users.noreply.github.com>
Undo SA6002 changes and add staticcheck ignore directive instead
Co-authored-by: rfjakob <286847+rfjakob@users.noreply.github.com>
Diffstat (limited to 'internal/syscallcompat/sys_linux.go')
| -rw-r--r-- | internal/syscallcompat/sys_linux.go | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/internal/syscallcompat/sys_linux.go b/internal/syscallcompat/sys_linux.go index 5a4a4ab..19d2c56 100644 --- a/internal/syscallcompat/sys_linux.go +++ b/internal/syscallcompat/sys_linux.go @@ -124,8 +124,16 @@ func LsetxattrUser(path string, attr string, data []byte, flags int, context *fu  func timesToTimespec(a *time.Time, m *time.Time) []unix.Timespec {  	ts := make([]unix.Timespec, 2) -	ts[0] = unix.Timespec(fuse.UtimeToTimespec(a)) -	ts[1] = unix.Timespec(fuse.UtimeToTimespec(m)) +	if a == nil { +		ts[0] = unix.Timespec{Nsec: unix.UTIME_OMIT} +	} else { +		ts[0], _ = unix.TimeToTimespec(*a) +	} +	if m == nil { +		ts[1] = unix.Timespec{Nsec: unix.UTIME_OMIT} +	} else { +		ts[1], _ = unix.TimeToTimespec(*m) +	}  	return ts  } | 
