-
Notifications
You must be signed in to change notification settings - Fork 402
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Handle 'strerror_r' idiosyncrasies in the platform layer #1616
Labels
Milestone
Comments
elfenpiff
added
bug
Something isn't working
technical debt
unclean code and design flaws
globex
labels
Sep 7, 2022
elfenpiff
changed the title
Introduce
Fix race condition in Sep 7, 2022
strerror_s
for all iceoryx platformsposixCall
by replace strerror
with strerror_s
for all iceoryx platforms
85 tasks
elBoberido
changed the title
Fix race condition in
Handle 'strerror_r' idiosyncrasies in the platform layer
Apr 14, 2024
posixCall
by replace strerror
with strerror_s
for all iceoryx platforms
elBoberido
added a commit
to elBoberido/iceoryx
that referenced
this issue
Apr 14, 2024
21 tasks
elBoberido
added a commit
to elBoberido/iceoryx
that referenced
this issue
Apr 14, 2024
elBoberido
added a commit
to elBoberido/iceoryx
that referenced
this issue
Apr 14, 2024
elBoberido
added a commit
to elBoberido/iceoryx
that referenced
this issue
Apr 14, 2024
elBoberido
added a commit
to elBoberido/iceoryx
that referenced
this issue
Apr 14, 2024
elBoberido
added a commit
that referenced
this issue
Apr 14, 2024
…error_r iox-#1616 Handle 'strerror_r' idiosyncrasies in the platform layer
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Brief feature description
The function
strerror
which is used in theposixCall
is not thread-safe, seeman strerror
attribute section. This can lead to undefined behavior, race condition and fatal crashes when theposixCall
is used concurrently - which is a standard use case in iceoryx - and a underlying call fails.There are
strerror_r
andstrerror_s
as thread-safe alternatives and iceoryx already switched tostrerror_r
. There are some idiosyncrasies instrerror_r
like different return types,char*
vsint
, and other stuff. Furthermore on Windows onlystrerror_s
is available which is not source compatible but offers the same functionality as one of thestrerror_r
versions.All of this should be handled in the platform layer instead of the
posixCall
Extracted from: #1196
The text was updated successfully, but these errors were encountered: