Open
Description
Description of the false positive
If I'm not mistaken and making a terribly stupid mistake here I would expect that Go's strconv.IntSize-1
should cover the positive range of an int
, regardless of architecture integer size. The actual value range returned by strconv.ParseUint
in an uint64
should be correctly castable to an int
without ambiguities.
Currently, CodeQL scanning reports "Incorrect conversion between integer types". Am I getting this one horribly wrong?
Code samples or links to source code
fd, err := strconv.ParseUint(fdInfoEntry.Name(), 10, strconv.IntSize-1)
if err != nil {
continue
}
taptunFd, err := unix.PidfdGetfd(pidfd, int(fd), 0)
https://github.com/siemens/ghostwire/pull/29/checks?check_run_id=18520023133
Related: #9295 ... but it seems the PR addressing the "old" issue doesn't address this case too.