Potential fix for code scanning alert no. 14: Incorrect conversion between integer types #840
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Potential fix for https://github.com/aws/aws-application-networking-k8s/security/code-scanning/14
The best way to fix this issue is to ensure that before casting the
int64result ofstrconv.ParseInttoint32, there's a check confirming that the value is within the validint32range. If not, return a safe default, ignore the annotation, or log a warning. Alternatively, modifystrconv.ParseIntto use a bit size of 32, so the returned value is always in theint32range if parsing succeeds.To preserve existing functionality (differentiating between default and user-specified priority, and logging warnings for out-of-bound input), it's preferable to add a bounds check:
int32(priority), verify thatpriorityis within[math.MinInt32, math.MaxInt32].This requires importing the
mathpackage formath.MinInt32andmath.MaxInt32unless such an import already exists.Changes required in
pkg/gateway/model_build_rule.go:mathpackage.priorityQueue.Suggested fixes powered by Copilot Autofix. Review carefully before merging.