Fix setprogname() emulation on systems without it.

For fully-qualified paths, store the string starting after the last slash,
not at the slash itself.
This commit is contained in:
Todd C. Miller
2021-01-15 15:25:44 -07:00
parent e60ff9058b
commit d98dd5f98d

View File

@@ -38,8 +38,8 @@ extern const char *__progname;
void void
sudo_setprogname(const char *name) sudo_setprogname(const char *name)
{ {
const char *base = strrchr(name, '/'); const char *slash = strrchr(name, '/');
__progname = base ? base : name; __progname = slash ? slash + 1 : name;
} }
# endif # endif
@@ -123,8 +123,8 @@ sudo_getprogname(void)
void void
sudo_setprogname(const char *name) sudo_setprogname(const char *name)
{ {
const char *base = strrchr(name, '/'); const char *slash = strrchr(name, '/');
progname = base ? base : name; progname = slash ? slash + 1 : name;
} }
#endif /* !HAVE_GETPROGNAME */ #endif /* !HAVE_GETPROGNAME */