aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYi Kong <yikong@google.com>2020-07-07 22:32:12 +0800
committerTheodore Ts'o <tytso@mit.edu>2020-10-01 17:42:28 -0400
commitb1a780ed7bc909026eab3f7318b2eafcff7d3c67 (patch)
treeca66b8c7b2b6d5062355589ee1f1c2d0e81b4244
parent694b1400f2a7402d8332285cdbad9a29b831adc5 (diff)
downloade2fsprogs-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.c5
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");