зеркало из https://github.com/github/ruby.git
Update dln.c to fix error output from `dln_open()`
`libruby_name` gets trashed by `dlclose(handle)`, so output the "linked to incompatible ... " error before calling `dlclose(handle)`.
This commit is contained in:
Родитель
6eac424e5e
Коммит
9aaf2b7526
6
dln.c
6
dln.c
|
@ -392,6 +392,12 @@ dln_open(const char *file)
|
|||
dln_fatalerror("%s - %s", incompatible, file);
|
||||
}
|
||||
else {
|
||||
if (libruby_name) {
|
||||
const size_t len = strlen(libruby_name);
|
||||
char *const tmp = ALLOCA_N(char, len + 1);
|
||||
if (tmp) memcpy(tmp, libruby_name, len + 1);
|
||||
libruby_name = tmp;
|
||||
}
|
||||
dlclose(handle);
|
||||
if (libruby_name) {
|
||||
dln_loaderror("linked to incompatible %s - %s", libruby_name, file);
|
||||
|
|
Загрузка…
Ссылка в новой задаче