From: Alan Coopersmith Date: Sun, 30 Sep 2018 23:04:29 +0000 (-0700) Subject: Fix off-by-one error in index check in xkb_file_type_to_string X-Git-Tag: xkbcommon-0.8.3~7^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=31f1f355700870c6615399fbfa7934934b3a9a57;p=platform%2Fupstream%2Flibxkbcommon.git Fix off-by-one error in index check in xkb_file_type_to_string Found by Oracle's Parfait 2.2 static analyzer: Error: Buffer overrun Read outside array bounds [read-outside-array-bounds] (CWE 125): In array dereference of xkb_file_type_strings[type] with index type Array size is 56 bytes, index <= 56 at line 734 of src/xkbcomp/ast-build.c in function 'xkb_file_type_to_string'. Signed-off-by: Alan Coopersmith --- diff --git a/src/xkbcomp/ast-build.c b/src/xkbcomp/ast-build.c index 2de9e61..365ff51 100644 --- a/src/xkbcomp/ast-build.c +++ b/src/xkbcomp/ast-build.c @@ -729,7 +729,7 @@ static const char *xkb_file_type_strings[_FILE_TYPE_NUM_ENTRIES] = { const char * xkb_file_type_to_string(enum xkb_file_type type) { - if (type > _FILE_TYPE_NUM_ENTRIES) + if (type >= _FILE_TYPE_NUM_ENTRIES) return "unknown"; return xkb_file_type_strings[type]; }