init_argv0_dir has a special case for FreeBSD where one branch led to an unitialized variable and undefined behavior. Initialize properly.
From: Gerald Pfeifer gerald@pfeifer.com
init_argv0_dir has a special case for FreeBSD where one branch led to an unitialized variable and undefined behavior. Initialize properly. --- tools/wrc/wrc.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/tools/wrc/wrc.c b/tools/wrc/wrc.c index a1e59c3d2b3..9f231603ad4 100644 --- a/tools/wrc/wrc.c +++ b/tools/wrc/wrc.c @@ -305,6 +305,8 @@ static void init_argv0_dir( const char *argv0 ) char *path = xmalloc( path_size ); if (!sysctl( pathname, ARRAY_SIZE(pathname), path, &path_size, NULL, 0 )) dir = realpath( path, NULL ); + else + dir = NULL; free( path ); #else dir = realpath( argv0, NULL );