MCPcopy Index your code
hub / github.com/subtrace/subtrace / getExecutableHashInner

Function getExecutableHashInner

cmd/version/version.go:29–46  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

27)
28
29func getExecutableHashInner() (string, error) {
30 path, err := os.Executable()
31 if err != nil {
32 return "", fmt.Errorf("get executable: %w", err)
33 }
34
35 f, err := os.Open(path)
36 if err != nil {
37 return "", fmt.Errorf("open executable: %w", err)
38 }
39 defer f.Close()
40
41 h := sha256.New()
42 if _, err := io.Copy(h, bufio.NewReader(io.LimitReader(f, 64<<20))); err != nil {
43 return "", fmt.Errorf("copy hash: %w", err)
44 }
45 return hex.EncodeToString(h.Sum(nil)), nil
46}
47
48var executableHashOnce sync.Once
49var executableHash = "unknown"

Callers 1

getExecutableHashFunction · 0.85

Calls 2

CopyMethod · 0.80
CloseMethod · 0.45

Tested by

no test coverage detected