diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2011-09-20 14:33:22 -0400 |
---|---|---|
committer | Steve Dickson <steved@redhat.com> | 2011-09-20 14:34:42 -0400 |
commit | 076b91078411b6a2c99c8d85bc10ded5c64a7019 (patch) | |
tree | 82a7af6d8c7d51350fcc81f17b954da6dc1240ff | |
parent | 5c3e26650a54af7826a2b4c6759b56681a350c37 (diff) | |
download | nfs-utils-076b91078411b6a2c99c8d85bc10ded5c64a7019.tar.gz nfs-utils-076b91078411b6a2c99c8d85bc10ded5c64a7019.tar.xz nfs-utils-076b91078411b6a2c99c8d85bc10ded5c64a7019.zip |
idmapd: Fix decoding of octal encoded fields
The decoded octal will always be positive and (char) -1 is negative. Any
field containing an encoded octal will be rejected.
As the encoded value should be an unsigned char, fix the check to reject
all values > (unsigned char) -1 = UCHAR_MAX, as this indicate an error
in the encoding.
Signed-off-by: Jan-Marek Glogowski <glogow@fbihome.de>
Signed-off-by: Steve Dickson <steved@redhat.com>
-rw-r--r-- | utils/idmapd/idmapd.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c index 76a56ef..19d9114 100644 --- a/utils/idmapd/idmapd.c +++ b/utils/idmapd/idmapd.c @@ -925,9 +925,9 @@ getfield(char **bpp, char *fld, size_t fldsz) if (*bp == '\\') { if ((n = sscanf(bp, "\\%03o", &val)) != 1) return (-1); - if (val > (char)-1) + if (val > UCHAR_MAX) return (-1); - *fld++ = (char)val; + *fld++ = val; bp += 4; } else { *fld++ = *bp; |