Quiet a bogus compiler warning.

This commit is contained in:
Todd C. Miller
2010-09-13 11:37:29 -04:00
parent 933c71e9c3
commit 4101f2eef0

View File

@@ -60,26 +60,26 @@ int
group_plugin_load(char *plugin_info) group_plugin_load(char *plugin_info)
{ {
struct stat sb; struct stat sb;
char *args, path[PATH_MAX], savedch; char *args, path[PATH_MAX];
char **argv = NULL; char **argv = NULL;
size_t len; int len, rc;
int rc;
/* /*
* Fill in .so path and split out args (if any). * Fill in .so path and split out args (if any).
*/ */
path[0] = '\0'; args = strpbrk(plugin_info, " \t");
if (plugin_info[0] != '/')
strlcpy(path, _PATH_SUDO_PLUGIN_DIR, sizeof(path));
if ((args = strpbrk(plugin_info, " \t")) != NULL) { if ((args = strpbrk(plugin_info, " \t")) != NULL) {
savedch = *args; len = snprintf(path, sizeof(path), "%s%.*s",
*args = '\0'; (*plugin_info != '/') ? _PATH_SUDO_PLUGIN_DIR : "",
(int)(args - plugin_info), plugin_info);
args++;
} else {
len = snprintf(path, sizeof(path), "%s%s",
(*plugin_info != '/') ? _PATH_SUDO_PLUGIN_DIR : "", plugin_info);
} }
len = strlcat(path, plugin_info, sizeof(path)); if (len <= 0 || len >= sizeof(path)) {
if (args != NULL) warningx("%s%s: %s",
*args++ = savedch; (*plugin_info != '/') ? _PATH_SUDO_PLUGIN_DIR : "", plugin_info,
if (len >= sizeof(path)) {
warningx("%s%s: %s", _PATH_SUDO_PLUGIN_DIR, plugin_info,
strerror(ENAMETOOLONG)); strerror(ENAMETOOLONG));
return -1; return -1;
} }