pthread_mutex_lock(&db_handle.lock);
        if (!db_handle.lib) {
                if ((!MYSQL_LIBPATH[0] || (db_handle.lib = dlopen(MYSQL_LIBPATH, RTLD_LAZY | RTLD_LOCAL)) == NULL) &&
-                   (db_handle.lib = dlopen("libmysqlclient.so", RTLD_LAZY | RTLD_LOCAL)) == NULL) {
-                       free(*ctx);
-                       *ctx = NULL;
+                   (db_handle.lib = dlopen("libmysqlclient.so", RTLD_LAZY | RTLD_LOCAL)) == NULL)
                        return ERR(*ctx, ENOENT, "can't load '%s' or 'libmysqlclient.so' (%s)", MYSQL_LIBPATH, dlerror());
-               }
                do {
                        LOAD(mysql_init, "mysql_init");
                        LOAD(mysql_get_client_version, "mysql_get_client_version");
                        dlclose(db_handle.lib);
                        db_handle.lib = NULL;
                        pthread_mutex_unlock(&db_handle.lock);
-                       free(*ctx);
-                       *ctx = NULL;
                        return err;
                }
        } else pthread_mutex_unlock(&db_handle.lock);