diff --git a/programs/develop/ktcc/trunk/libc/dlfcn/dlfcn.c b/programs/develop/ktcc/trunk/libc/dlfcn/dlfcn.c index c6f8076ea..e5b1768e0 100644 --- a/programs/develop/ktcc/trunk/libc/dlfcn/dlfcn.c +++ b/programs/develop/ktcc/trunk/libc/dlfcn/dlfcn.c @@ -85,5 +85,7 @@ int dlclose(void *handle) { // https://pubs.opengroup.org/onlinepubs/007908799/xsh/dlerror.html char *dlerror(void) { - return strdup(__error); + char *ret = __error ? strdup(__error) : NULL; + __error = NULL; + return ret; }