Potential fix for code scanning alert no. 14: Incorrect conversion between integer types #840
+11 −8
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.