Bladeren bron

load_dso: prevent load_dso_error() from returning old error

This happens if load_dso fails due to being unable to find the file, but not setting the dlerror flag and therefore causing a misleading error message to be shown.
rdb 7 jaren geleden
bovenliggende
commit
6eca44464e
1 gewijzigde bestanden met toevoegingen van 3 en 0 verwijderingen
  1. 3 0
      dtool/src/dtoolutil/load_dso.cxx

+ 3 - 0
dtool/src/dtoolutil/load_dso.cxx

@@ -132,6 +132,9 @@ void *
 load_dso(const DSearchPath &path, const Filename &filename) {
   Filename abspath = resolve_dso(path, filename);
   if (!abspath.is_regular_file()) {
+    // Make sure the error flag is cleared, to prevent a subsequent call to
+    // load_dso_error() from returning a previously stored error.
+    dlerror();
     return nullptr;
   }
   string os_specific = abspath.to_os_specific();