[geany/geany] 257de6: fortran: Make sure not to index kinds out of bounds
Colomban Wendling
git-noreply at xxxxx
Fri Aug 1 14:05:09 UTC 2014
Branch: refs/heads/master
Author: Colomban Wendling <ban at herbesfolles.org>
Committer: Colomban Wendling <ban at herbesfolles.org>
Date: Fri, 01 Aug 2014 14:05:09 UTC
Commit: 257de6597cd7fb0f7cd75d20c67c0de1d85d491a
https://github.com/geany/geany/commit/257de6597cd7fb0f7cd75d20c67c0de1d85d491a
Log Message:
-----------
fortran: Make sure not to index kinds out of bounds
This also makes recent GCC shut up about indexing below the bounds as
it detected the code checked for a negative index yet didn't guard the
actual access. For now GCC doesn't understand the more comprehensive
check, but it might come back if GCC becomes smart enough.
Anyway, this makes the Assert() more correct, and addition of the
explicit kinds array size makes sure any future kind addition won't
miss its entry.
Modified Paths:
--------------
tagmanager/ctags/fortran.c
Modified: tagmanager/ctags/fortran.c
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -214,7 +214,7 @@ static boolean NewLine = TRUE;
static unsigned int contextual_fake_count = 0;
/* indexed by tagType */
-static kindOption FortranKinds [] = {
+static kindOption FortranKinds [TAG_COUNT] = {
{ TRUE, 'b', "block data", "block data"},
{ TRUE, 'c', "macro", "common blocks"},
{ TRUE, 'e', "entry", "entry points"},
@@ -490,7 +490,7 @@ static boolean isFileScope (const tagType type)
static boolean includeTag (const tagType type)
{
boolean include;
- Assert (type != TAG_UNDEFINED);
+ Assert (type > TAG_UNDEFINED && type < TAG_COUNT);
include = FortranKinds [(int) type].enabled;
if (include && isFileScope (type))
include = Option.include.fileScope;
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
More information about the Commits
mailing list