From b3f0f4bf66f96b3b380d62349cf2e61d7ab95ecb Mon Sep 17 00:00:00 2001 From: "evan@chromium.org" Date: Thu, 25 Mar 2010 22:58:47 +0000 Subject: Revert "linux: turn on -Wextra" Compiled locally and on trybots but failed on builder?! This reverts commit r42688. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42689 0039d316-1c4b-4281-b951-d872f2087c98 --- sandbox/linux/seccomp/library.cc | 2 +- sandbox/linux/seccomp/library.h | 2 +- sandbox/linux/seccomp/sandbox_impl.h | 2 +- sandbox/linux/seccomp/socketcall.cc | 8 +++++--- sandbox/linux/suid/linux_util.c | 5 ++--- sandbox/linux/suid/process_util_linux.c | 2 +- sandbox/linux/suid/sandbox.c | 23 +++++++++++------------ 7 files changed, 22 insertions(+), 22 deletions(-) (limited to 'sandbox/linux') diff --git a/sandbox/linux/seccomp/library.cc b/sandbox/linux/seccomp/library.cc index 768b00a..1b06bc1 100644 --- a/sandbox/linux/seccomp/library.cc +++ b/sandbox/linux/seccomp/library.cc @@ -318,7 +318,7 @@ const Elf_Shdr* Library::getSection(const string& section) { return &iter->second.second; } -int Library::getSectionIndex(const string& section) { +const int Library::getSectionIndex(const string& section) { if (!valid_) { return -1; } diff --git a/sandbox/linux/seccomp/library.h b/sandbox/linux/seccomp/library.h index e27bfde..96ec581 100644 --- a/sandbox/linux/seccomp/library.h +++ b/sandbox/linux/seccomp/library.h @@ -126,7 +126,7 @@ class Library { bool parseElf(); const Elf_Ehdr* getEhdr(); const Elf_Shdr* getSection(const string& section); - int getSectionIndex(const string& section); + const int getSectionIndex(const string& section); void makeWritable(bool state) const; void patchSystemCalls(); bool isVDSO() const { return isVDSO_; } diff --git a/sandbox/linux/seccomp/sandbox_impl.h b/sandbox/linux/seccomp/sandbox_impl.h index 18a359c..0a98283 100644 --- a/sandbox/linux/seccomp/sandbox_impl.h +++ b/sandbox/linux/seccomp/sandbox_impl.h @@ -268,7 +268,7 @@ class Sandbox { // Wrapper around "read()" that can deal with partial and interrupted reads // and that does not modify the global errno variable. static ssize_t read(SysCalls& sys, int fd, void* buf, size_t len) { - if (static_cast(len) < 0) { + if (len < 0) { sys.my_errno = EINVAL; return -1; } diff --git a/sandbox/linux/seccomp/socketcall.cc b/sandbox/linux/seccomp/socketcall.cc index 497e5e2..43116bb 100644 --- a/sandbox/linux/seccomp/socketcall.cc +++ b/sandbox/linux/seccomp/socketcall.cc @@ -288,7 +288,8 @@ bool Sandbox::process_sendmsg(int parentMapsFd, int sandboxFd, int threadFdPub, die("Failed to read parameters for sendmsg() [process]"); } - if (data.msg.msg_namelen > 4096 || data.msg.msg_controllen > 4096) { + if (data.msg.msg_namelen < 0 || data.msg.msg_namelen > 4096 || + data.msg.msg_controllen < 0 || data.msg.msg_controllen > 4096) { die("Unexpected size for socketcall() payload [process]"); } char extra[data.msg.msg_namelen + data.msg.msg_controllen]; @@ -766,7 +767,7 @@ bool Sandbox::process_socketcall(int parentMapsFd, int sandboxFd, // Verify that the length for the payload is reasonable. We don't want to // blow up our stack, and excessive (or negative) buffer sizes are almost // certainly a bug. - if (numExtraData > 4096) { + if (numExtraData < 0 || numExtraData > 4096) { die("Unexpected size for socketcall() payload [process]"); } @@ -782,7 +783,8 @@ bool Sandbox::process_socketcall(int parentMapsFd, int sandboxFd, ssize_t numSendmsgExtra = 0; if (socketcall_req.call == SYS_SENDMSG) { struct msghdr* msg = reinterpret_cast(extra); - if (msg->msg_namelen > 4096 || msg->msg_controllen > 4096) { + if (msg->msg_namelen < 0 || msg->msg_namelen > 4096 || + msg->msg_controllen < 0 || msg->msg_controllen > 4096) { die("Unexpected size for socketcall() payload [process]"); } numSendmsgExtra = msg->msg_namelen + msg->msg_controllen; diff --git a/sandbox/linux/suid/linux_util.c b/sandbox/linux/suid/linux_util.c index c5af0d0..ded545b 100644 --- a/sandbox/linux/suid/linux_util.c +++ b/sandbox/linux/suid/linux_util.c @@ -83,9 +83,8 @@ bool FindProcessHoldingSocket(pid_t* pid_out, ino_t socket_inode) { continue; while ((dent = readdir(fd))) { - int printed = snprintf(buf, sizeof(buf), "/proc/%lu/fd/%s", pid_ul, - dent->d_name); - if (printed < 0 || printed >= (int)(sizeof(buf) - 1)) { + if (snprintf(buf, sizeof(buf), "/proc/%lu/fd/%s", pid_ul, + dent->d_name) >= sizeof(buf) - 1) { continue; } diff --git a/sandbox/linux/suid/process_util_linux.c b/sandbox/linux/suid/process_util_linux.c index 7b31274..9f40f39 100644 --- a/sandbox/linux/suid/process_util_linux.c +++ b/sandbox/linux/suid/process_util_linux.c @@ -38,7 +38,7 @@ bool AdjustOOMScore(pid_t process, int score) { char buf[3]; // 0 <= |score| <= 15; snprintf(buf, sizeof(buf), "%d", score); - ssize_t len = strlen(buf); + size_t len = strlen(buf); ssize_t bytes_written = write(fd, buf, len); close(fd); diff --git a/sandbox/linux/suid/sandbox.c b/sandbox/linux/suid/sandbox.c index 7389f03..e4968c9 100644 --- a/sandbox/linux/suid/sandbox.c +++ b/sandbox/linux/suid/sandbox.c @@ -90,13 +90,13 @@ static int CloneChrootHelperProcess() { char tempDirectoryTemplate[80] = "/tmp/chrome-sandbox-chroot-XXXXXX"; struct statfs sfs; if (!statfs("/tmp", &sfs) && - (unsigned long)sfs.f_type != BTRFS_SUPER_MAGIC && - (unsigned long)sfs.f_type != EXT2_SUPER_MAGIC && - (unsigned long)sfs.f_type != EXT3_SUPER_MAGIC && - (unsigned long)sfs.f_type != EXT4_SUPER_MAGIC && - (unsigned long)sfs.f_type != REISERFS_SUPER_MAGIC && - (unsigned long)sfs.f_type != TMPFS_MAGIC && - (unsigned long)sfs.f_type != XFS_SUPER_MAGIC) { + sfs.f_type != BTRFS_SUPER_MAGIC && + sfs.f_type != EXT2_SUPER_MAGIC && + sfs.f_type != EXT3_SUPER_MAGIC && + sfs.f_type != EXT4_SUPER_MAGIC && + sfs.f_type != REISERFS_SUPER_MAGIC && + sfs.f_type != TMPFS_MAGIC && + sfs.f_type != XFS_SUPER_MAGIC) { // If /dev/shm exists, it is supposed to be a tmpfs filesystem. While we // are not actually using it for shared memory, moving our temp directory // into a known tmpfs filesystem is preferable over using a potentially @@ -137,7 +137,7 @@ static int CloneChrootHelperProcess() { char proc_self_fd_str[128]; int printed = snprintf(proc_self_fd_str, sizeof(proc_self_fd_str), "/proc/self/fd/%d", chroot_dir_fd); - if (printed < 0 || printed >= (int)sizeof(proc_self_fd_str)) { + if (printed < 0 || printed >= sizeof(proc_self_fd_str)) { fprintf(stderr, "Error in snprintf"); return -1; } @@ -246,7 +246,7 @@ static bool SpawnChrootHelper() { // number of the file descriptor. char desc_str[64]; int printed = snprintf(desc_str, sizeof(desc_str), "%d", chroot_signal_fd); - if (printed < 0 || printed >= (int)sizeof(desc_str)) { + if (printed < 0 || printed >= sizeof(desc_str)) { fprintf(stderr, "Failed to snprintf\n"); return false; } @@ -379,10 +379,9 @@ int main(int argc, char **argv) { if (argc == 4 && (0 == strcmp(argv[1], kAdjustOOMScoreSwitch))) { char* endptr; long score; - unsigned long pid_ul = strtoul(argv[2], &endptr, 10); - if (pid_ul == ULONG_MAX || *endptr) + pid_t pid = strtoul(argv[2], &endptr, 10); + if (pid == ULONG_MAX || *endptr) return 1; - pid_t pid = pid_ul; score = strtol(argv[3], &endptr, 10); if (score == LONG_MAX || score == LONG_MIN || *endptr) return 1; -- cgit v1.1