Skip to content

false-positive with int pointer dereference #12

@ldez

Description

@ldez
type myStruct struct {
	fieldC *int
}

func bug() {
	ms := myStruct{fieldC: func(v int) *int { return &v }(10)}

	_ = time.Duration(*somePointerDurationMillis()) * time.Millisecond

	_ = time.Millisecond * time.Duration(*somePointerDurationMillis())

	_ = time.Duration(*ms.fieldC) * time.Second

	_ = time.Second * time.Duration(*ms.fieldC)
}

func somePointerDurationMillis() *int {
	v := 10
	return &v
}
Multiplication of durations: `time.Duration(*somePointerDurationMillis()) * time.Millisecond`
Multiplication of durations: `time.Millisecond * time.Duration(*somePointerDurationMillis())`
Multiplication of durations: `time.Duration(*ms.fieldC) * time.Second`
Multiplication of durations: `time.Second * time.Duration(*ms.fieldC)`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions