Skip to content

fix(ngap): add nil guards for remaining 3 NGAP handlers#661

Merged
gab-arrobo merged 1 commit into
omec-project:mainfrom
donivtech:fix/nil-check-remaining-ngap-handlers-v2.1.2
Apr 17, 2026
Merged

fix(ngap): add nil guards for remaining 3 NGAP handlers#661
gab-arrobo merged 1 commit into
omec-project:mainfrom
donivtech:fix/nil-check-remaining-ngap-handlers-v2.1.2

Conversation

@donivtech

Copy link
Copy Markdown
Contributor

Summary

Add post-loop nil checks for mandatory IEs in 3 NGAP handlers that lack
dispatcher-level protection via FetchRanUeContext:

  • HandleLocationReportingFailureIndication — guard cause, rANUENGAPID
  • HandleRRCInactiveTransitionReport — guard rANUENGAPID
  • HandleUplinkUEAssociatedNRPPATransport — guard rANUENGAPID, routingID

Prevents nil pointer panics when a gNB omits mandatory IEs from these messages.

Test plan

  • go build ./... — clean
  • go vet ./ngap/... — clean
  • go test ./ngap/... — passes

Signed-off-by: Vinod Patmanathan vinod.patmanathan@forsway.com

@gab-arrobo

Copy link
Copy Markdown
Contributor

@donivtech thanks for your contribution. Please rebase your PR

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds defensive nil checks in selected NGAP handlers to prevent nil-pointer panics when gNBs omit mandatory IEs, specifically for handlers that don’t get dispatcher-level UE context protection via FetchRanUeContext.

Changes:

  • Add post-loop nil guards in HandleLocationReportingFailureIndication for cause and rANUENGAPID.
  • Add post-loop nil guard in HandleRRCInactiveTransitionReport for rANUENGAPID.
  • Add post-loop nil guards in HandleUplinkUEAssociatedNRPPATransport for rANUENGAPID and routingID.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ngap/handler.go Outdated
Comment thread ngap/handler.go
Comment thread ngap/handler.go
Comment thread ngap/handler.go Outdated
Add post-loop nil checks for mandatory IEs in handlers that lacked
dispatcher-level protection via FetchRanUeContext:

- HandleLocationReportingFailureIndication: guard cause, rANUENGAPID
- HandleRRCInactiveTransitionReport: guard rANUENGAPID
- HandleUplinkUEAssociatedNRPPATransport: guard rANUENGAPID, routingID

Prevents nil pointer panics when a gNB omits mandatory IEs.

Signed-off-by: Vinod Patmanathan <vinod.patmanathan@forsway.com>
@donivtech donivtech force-pushed the fix/nil-check-remaining-ngap-handlers-v2.1.2 branch from bece052 to 49ae67a Compare April 17, 2026 08:15
@donivtech

Copy link
Copy Markdown
Contributor Author

Thanks for the review @gab-arrobo and Copilot.

Pushed an updated version that addresses all feedback:

  • Rebased onto latest main
  • Log message consistency: aligned post-loop messages with the in-loop decode checks within each handler (RanUeNgapID is nil, routingID is nil, etc.)
  • Added nRPPaPDU nil guard: good catch — it's marked reject criticality and the non-UE-associated variant already rejects missing NRPPaPDU, so the UE-associated variant should too.

@gab-arrobo gab-arrobo merged commit abc6488 into omec-project:main Apr 17, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants