diff options
author | Yi Kong <yikong@google.com> | 2020-07-07 22:32:12 +0800 |
---|---|---|
committer | Yi Kong <yikong@google.com> | 2020-07-24 16:55:56 +0800 |
commit | 757a4d672dae1a15c57f5f0705ba90ed007da7e6 (patch) | |
tree | 7cbdeb39c215f5dc6fb71bbdef0f9c979905a4e3 /contrib | |
parent | f03942a7b735ddf568fc137a25617c8466e583f2 (diff) | |
download | e2fsprogs-757a4d672dae1a15c57f5f0705ba90ed007da7e6.tar.gz |
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
Diffstat (limited to 'contrib')
-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 1beb1e25..f5d24b88 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"); |