diff options
author | Yi Kong <yikong@google.com> | 2020-07-07 22:32:12 +0800 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2020-10-01 17:42:28 -0400 |
commit | b1a780ed7bc909026eab3f7318b2eafcff7d3c67 (patch) | |
tree | ca66b8c7b2b6d5062355589ee1f1c2d0e81b4244 | |
parent | 694b1400f2a7402d8332285cdbad9a29b831adc5 (diff) | |
download | e2fsprogs-b1a780ed7bc909026eab3f7318b2eafcff7d3c67.tar.gz |
AOSP: Fix a trivial type error
Comparing unsigned int with ULONG_MAX is always false.
Signed-off-by: Yi Kong <yikong@google.com>
Change-Id: Iae02aad1bcb271d3468828977be288ad04333821
From AOSP commit: 757a4d672dae1a15c57f5f0705ba90ed007da7e6
-rw-r--r-- | contrib/android/e2fsdroid.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/contrib/android/e2fsdroid.c b/contrib/android/e2fsdroid.c index 1beb1e25b..f5d24b885 100644 --- a/contrib/android/e2fsdroid.c +++ b/contrib/android/e2fsdroid.c @@ -76,11 +76,12 @@ static int parse_ugid_map_entry(char* line, struct ugid_map_entry* result) token && num_tokens < 3; token = strtok_r(NULL, " ", &token_saveptr), ++num_tokens) { char* endptr = NULL; - *parsed[num_tokens] = strtoul(token, &endptr, 10); - if ((*parsed[num_tokens] == ULONG_MAX && errno) || *endptr) { + unsigned long t = strtoul(token, &endptr, 10); + if ((t == ULONG_MAX && errno) || (t > UINT_MAX) || *endptr) { fprintf(stderr, "Malformed u/gid mapping line\n"); return 0; } + *parsed[num_tokens] = (unsigned int) t; } if (num_tokens < 3 || strtok_r(NULL, " ", &token_saveptr) != NULL) { fprintf(stderr, "Malformed u/gid mapping line\n"); |