walters / rpms / nfs-utils

Forked from rpms/nfs-utils 6 years ago
Clone
Blob Blame History Raw
commit bcd0fcaf0966c546da5043be700587f73174ae25
Author: NeilBrown <neilb@suse.de>
Date:   Tue Feb 26 13:57:39 2008 -0500

    If validateascii is passed a string containing only non-zero 7bit
    values, then the loop with exit with i == len, and the following
    test will access beyond the end of the array.
    
    So add an extra test to fix this.
    
    Found by Marcus Meissner <meissner@novell.com>.
    
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Steve Dickson <steved@redhat.com>

diff --git a/utils/idmapd/idmapd.c b/utils/idmapd/idmapd.c
index 355c6e1..6b5971c 100644
--- a/utils/idmapd/idmapd.c
+++ b/utils/idmapd/idmapd.c
@@ -848,7 +848,7 @@ validateascii(char *string, u_int32_t len)
 			return (-1);
 	}
 
-	if (string[i] != '\0')
+	if ((i >= len) || string[i] != '\0')
 		return (-1);
 
 	return (i + 1);