--- trunk/grubby/grubby.c 2012/07/02 13:15:20 1859 +++ trunk/grubby/grubby.c 2012/07/02 13:22:30 1868 @@ -1310,7 +1310,9 @@ /* most likely the symlink is relative, so change our directory to the dir of the symlink */ - rc = chdir(dirname(outName)); + char *dir = strdupa(outName); + rc = chdir(dirname(dir)); + free(dir); do { buf = alloca(len + 1); rc = readlink(basename(outName), buf, len); @@ -4069,7 +4071,7 @@ if (!yconfig) yrc = 1; else - yrc = checkForYaboot(lconfig); + yrc = checkForYaboot(yconfig); } if (lrc == 1 || grc == 1 || gr2c == 1 || extrc == 1 || yrc == 1 ||