[Openmp-commits] [PATCH] D112174: [OpenMP] Fix possible NULL dereference
Joachim Protze via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Thu Oct 21 06:19:52 PDT 2021
protze.joachim added a comment.
start_tool = (ompt_start_tool_t)dlsym(h, "ompt_start_tool");
I find the dlsym description confusing:
> The function dlsym() [...] return[s] the address where that symbol is loaded into memory.
If the symbol is loaded into memory, how can the address be NULL?
> Since the value of the symbol could actually be NULL (so that a NULL return from dlsym() need not indicate an error)
With `if (!start_tool)` we check the address of the symbol to be !=NULL, not the symbol itself.
If the symbol is NULL, but the function returns the address to the symbol, I would need to dereference the address to see the NULL, i.e. `*start_tool` == NULL? What do I miss here?
================
Comment at: openmp/runtime/src/ompt-general.cpp:349
fname);
+ dlerror(); // Clear any existing error
start_tool = (ompt_start_tool_t)dlsym(h, "ompt_start_tool");
----------------
I would argue, that dlerror is cleared at this point, but calling the function anyways should not harm.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D112174/new/
https://reviews.llvm.org/D112174
More information about the Openmp-commits
mailing list