sudoers plugin: silence most -Wconversion warnings.
This commit is contained in:
@@ -90,9 +90,9 @@ struct replay_closure {
|
||||
bool interactive;
|
||||
bool suspend_wait;
|
||||
struct io_buffer {
|
||||
unsigned int len; /* buffer length (how much produced) */
|
||||
unsigned int off; /* write position (how much already consumed) */
|
||||
unsigned int toread; /* how much remains to be read */
|
||||
size_t len; /* buffer length (how much produced) */
|
||||
size_t off; /* write position (how much already consumed) */
|
||||
size_t toread; /* how much remains to be read */
|
||||
int lastc; /* last char written */
|
||||
char buf[64 * 1024];
|
||||
} iobuf;
|
||||
@@ -269,9 +269,9 @@ main(int argc, char *argv[])
|
||||
if (dval <= 0.0) {
|
||||
sudo_timespecclear(&max_delay_storage);
|
||||
} else {
|
||||
max_delay_storage.tv_sec = dval;
|
||||
max_delay_storage.tv_nsec =
|
||||
(dval - max_delay_storage.tv_sec) * 1000000000.0;
|
||||
max_delay_storage.tv_sec = (time_t)dval;
|
||||
max_delay_storage.tv_nsec = (long)
|
||||
((dval - (double)max_delay_storage.tv_sec) * 1000000000.0);
|
||||
}
|
||||
max_delay = &max_delay_storage;
|
||||
break;
|
||||
@@ -857,7 +857,7 @@ fill_iobuf(struct replay_closure *closure)
|
||||
if (nread <= 0) {
|
||||
if (nread == 0) {
|
||||
sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_LINENO,
|
||||
"%s/%s: premature EOF, expected %u bytes",
|
||||
"%s/%s: premature EOF, expected %zu bytes",
|
||||
closure->iolog_dir, iolog_fd_to_name(timing->event),
|
||||
closure->iobuf.toread);
|
||||
} else {
|
||||
@@ -869,8 +869,8 @@ fill_iobuf(struct replay_closure *closure)
|
||||
closure->iolog_dir, iolog_fd_to_name(timing->event), errstr);
|
||||
debug_return_bool(false);
|
||||
}
|
||||
closure->iobuf.toread -= nread;
|
||||
closure->iobuf.len += nread;
|
||||
closure->iobuf.toread -= (size_t)nread;
|
||||
closure->iobuf.len += (size_t)nread;
|
||||
}
|
||||
|
||||
debug_return_bool(true);
|
||||
@@ -1096,10 +1096,11 @@ write_output(int fd, int what, void *v)
|
||||
struct replay_closure *closure = v;
|
||||
const struct timing_closure *timing = &closure->timing;
|
||||
struct io_buffer *iobuf = &closure->iobuf;
|
||||
unsigned iovcnt = 1;
|
||||
int iovcnt = 1;
|
||||
struct iovec iov[2];
|
||||
bool added_cr = false;
|
||||
size_t nbytes, nwritten;
|
||||
size_t nbytes;
|
||||
ssize_t nwritten;
|
||||
debug_decl(write_output, SUDO_DEBUG_UTIL);
|
||||
|
||||
/* Refill iobuf if there is more to read and buf is empty. */
|
||||
@@ -1136,7 +1137,7 @@ write_output(int fd, int what, void *v)
|
||||
}
|
||||
|
||||
nwritten = writev(fd, iov, iovcnt);
|
||||
switch ((ssize_t)nwritten) {
|
||||
switch (nwritten) {
|
||||
case -1:
|
||||
if (errno != EINTR && errno != EAGAIN)
|
||||
sudo_fatal(U_("unable to write to %s"), "stdout");
|
||||
@@ -1145,9 +1146,9 @@ write_output(int fd, int what, void *v)
|
||||
/* Should not happen. */
|
||||
break;
|
||||
default:
|
||||
if (added_cr && nwritten >= nbytes - 1) {
|
||||
if (added_cr && (size_t)nwritten >= nbytes - 1) {
|
||||
/* The last char written was either '\r' or '\n'. */
|
||||
iobuf->lastc = nwritten == nbytes ? '\n' : '\r';
|
||||
iobuf->lastc = (size_t)nwritten == nbytes ? '\n' : '\r';
|
||||
} else {
|
||||
/* Stash the last char written. */
|
||||
iobuf->lastc = *((char *)iov[0].iov_base + nwritten);
|
||||
@@ -1156,7 +1157,7 @@ write_output(int fd, int what, void *v)
|
||||
/* Subtract one for the carriage return we added above. */
|
||||
nwritten--;
|
||||
}
|
||||
iobuf->off += nwritten;
|
||||
iobuf->off += (size_t)nwritten;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1266,7 +1267,7 @@ parse_expr(struct search_node_list *head, char *argv[], bool sub_expr)
|
||||
goto bad;
|
||||
if (!sub_expr)
|
||||
sudo_fatalx("%s", U_("unmatched ')' in expression"));
|
||||
debug_return_int(av - argv + 1);
|
||||
debug_return_int((int)(av - argv) + 1);
|
||||
default:
|
||||
bad:
|
||||
sudo_fatalx(U_("unknown search term \"%s\""), *av);
|
||||
@@ -1309,7 +1310,7 @@ parse_expr(struct search_node_list *head, char *argv[], bool sub_expr)
|
||||
if (not)
|
||||
sudo_fatalx("%s", U_("illegal trailing \"!\""));
|
||||
|
||||
debug_return_int(av - argv);
|
||||
debug_return_int((int)(av - argv));
|
||||
}
|
||||
|
||||
static char *
|
||||
@@ -1550,11 +1551,11 @@ find_sessions(const char *dir, regex_t *re, const char *user, const char *tty)
|
||||
|
||||
/* Check for dir with a log file. */
|
||||
if (lstat(pathbuf, &sb) == 0 && S_ISREG(sb.st_mode)) {
|
||||
pathbuf[sdlen + len - 4] = '\0';
|
||||
pathbuf[sdlen + (size_t)(len - 4)] = '\0';
|
||||
list_session(&lbuf, pathbuf, re, user, tty);
|
||||
} else {
|
||||
/* Strip off "/log" and recurse if a non-log dir. */
|
||||
pathbuf[sdlen + len - 4] = '\0';
|
||||
pathbuf[sdlen + (size_t)(len - 4)] = '\0';
|
||||
if (checked_type ||
|
||||
(lstat(pathbuf, &sb) == 0 && S_ISDIR(sb.st_mode)))
|
||||
find_sessions(pathbuf, re, user, tty);
|
||||
|
Reference in New Issue
Block a user