Skip to content

Conversation

@AndreasGocht
Copy link
Contributor

Without the ref only the last element of __devicenames is stored in _devicenames: The temporary is deleted at the end of the for body, therefore the pointer to the c_str is no longer valid and might be reused by the implementation. By using a reference in the for head the c_str does not return a ref to the temporary but to the original array wich's lifetime is till the end of the function.

Without the ref only the last element of __devicenames is stored in
_devicenames: The temporary is deleted at the end of the for body,
therefore the pointer to the c_str is no longer valid and might be
reused by the implementation. By using a reference in the for head
the c_str does not return a ref to the temporary but to the original
array wich's lifetime is till the end of the function.
Copy link
Owner

@raboof raboof left a comment

Choose a reason for hiding this comment

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

OK

@raboof raboof merged commit 89c1951 into raboof:main Dec 23, 2023
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.

2 participants