sandbox: Fix comparison of unsigned enum expression warning
authorTom Rini <trini@konsulko.com>
Sun, 14 May 2017 00:11:30 +0000 (20:11 -0400)
committerSimon Glass <sjg@chromium.org>
Fri, 9 Jun 2017 02:21:59 +0000 (20:21 -0600)
In os_dirent_get_typename() we are checking that type falls within the
known values of the enum os_dirent_t.  With clang-3.8 testing this value
as being >= 0 results in a warning as it will always be true.  This
assumes of course that we are only given valid data.  Given that we want
to sanity check the input, we change this to check that it falls within
the range of the first to the last entry in the given enum.

Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/sandbox/cpu/os.c

index 35ea00c..7243bfc 100644 (file)
@@ -395,7 +395,7 @@ const char *os_dirent_typename[OS_FILET_COUNT] = {
 
 const char *os_dirent_get_typename(enum os_dirent_t type)
 {
-       if (type >= 0 && type < OS_FILET_COUNT)
+       if (type >= OS_FILET_REG && type < OS_FILET_COUNT)
                return os_dirent_typename[type];
 
        return os_dirent_typename[OS_FILET_UNKNOWN];