fix: avoid infinite loop when cursor is empty string #770
+1
−1
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.
Replace
while (cursor is not null)
withwhile (!string.IsNullOrEmpty(cursor))
to prevent potential infinite loops if the cursor is an empty string.Motivation and Context
When integrating with Alibaba Bailian's MCP service, I encountered an issue where the pagination API returns an empty string ("") instead of null for NextCursor when there is no more data. The previous loop condition failed to terminate in this case, resulting in infinite requests. This PR updates the loop condition to improve SDK compatibility with this scenario.
How Has This Been Tested?
Yes, I verified the change by testing the compiled code and confirmed that the modified logic works as expected and resolves the infinite request issue.
Breaking Changes
No.
Types of changes
Checklist
Additional context
This change ensures more robust pagination handling and prevents potential infinite loops caused by empty cursor values.