| Index: base/files/file_util_linux.cc
|
| diff --git a/base/files/file_util_linux.cc b/base/files/file_util_linux.cc
|
| index b230fd96484c7d8e75f408edc912019d60ffb728..b0c6e0328507fde90d4e09e7d24c4b1089216159 100644
|
| --- a/base/files/file_util_linux.cc
|
| +++ b/base/files/file_util_linux.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include <errno.h>
|
| #include <linux/magic.h>
|
| +#include <stdint.h>
|
| #include <sys/vfs.h>
|
|
|
| #include "base/files/file_path.h"
|
| @@ -23,7 +24,10 @@ bool GetFileSystemType(const FilePath& path, FileSystemType* type) {
|
|
|
| // Not all possible |statfs_buf.f_type| values are in linux/magic.h.
|
| // Missing values are copied from the statfs man page.
|
| - switch (statfs_buf.f_type) {
|
| + // In some platforms, |statfs_buf.f_type| is declared as signed, but some of
|
| + // the values will overflow it, causing narrowing warnings. Cast to the
|
| + // largest possible unsigned integer type to avoid it.
|
| + switch (static_cast<uintmax_t>(statfs_buf.f_type)) {
|
| case 0:
|
| *type = FILE_SYSTEM_0;
|
| break;
|
|
|