diff --git a/loader/main.c b/loader/main.c index 0e6b6f66b50..3c06728504c 100644 --- a/loader/main.c +++ b/loader/main.c @@ -216,13 +216,15 @@ static const char *get_self_exe( char *argv0 ) for (p = strtok( path, ":" ); p; p = strtok( NULL, ":" )) { char *name = build_path( p, argv0 ); - int found = !access( name, X_OK ); + if (!access( name, X_OK )) + { + free( path ); + return name; + } free( name ); - if (found) break; } - if (p) p = strdup( p ); free( path ); - return p; + return NULL; } return argv0; #endif