[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xsm/flask: Eliminate "array subscript above array bounds" warning
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1268327727 0 # Node ID 099aac2cfab614c62e3bba9eb30aee7dc950d8fd # Parent 5b8e012641e21b3f62350b707fe1e52557f17829 xsm/flask: Eliminate "array subscript above array bounds" warning gcc 4.4 incorrectly reports an "array subscript above array bounds" warning in the flask policydb code, causing the build to fail with FLASK_ENABLE=y. Rework the code slightly to make it go away. Signed-off-by: Stephen D. Smalley <sds@xxxxxxxxxxxxx> --- xen/xsm/flask/ss/policydb.c | 27 +++++++++++++++------------ 1 files changed, 15 insertions(+), 12 deletions(-) diff -r 5b8e012641e2 -r 099aac2cfab6 xen/xsm/flask/ss/policydb.c --- a/xen/xsm/flask/ss/policydb.c Thu Mar 11 08:09:58 2010 +0000 +++ b/xen/xsm/flask/ss/policydb.c Thu Mar 11 17:15:27 2010 +0000 @@ -1260,7 +1260,7 @@ static int role_read(struct policydb *p, { char *key = NULL; struct role_datum *role; - int rc, to_read = 2; + int rc; __le32 buf[3]; u32 len; @@ -1273,9 +1273,10 @@ static int role_read(struct policydb *p, memset(role, 0, sizeof(*role)); if ( p->policyvers >= POLICYDB_VERSION_BOUNDARY ) - to_read = 3; - - rc = next_entry(buf, fp, sizeof(buf[0]) * to_read); + rc = next_entry(buf, fp, sizeof(buf[0]) * 3); + else + rc = next_entry(buf, fp, sizeof(buf[0]) * 2); + if ( rc < 0 ) goto bad; @@ -1330,7 +1331,7 @@ static int type_read(struct policydb *p, { char *key = NULL; struct type_datum *typdatum; - int rc, to_read = 3; + int rc; __le32 buf[4]; u32 len; @@ -1343,9 +1344,10 @@ static int type_read(struct policydb *p, memset(typdatum, 0, sizeof(*typdatum)); if ( p->policyvers >= POLICYDB_VERSION_BOUNDARY ) - to_read = 4; - - rc = next_entry(buf, fp, sizeof(buf[0]) * to_read); + rc = next_entry(buf, fp, sizeof(buf[0]) * 4); + else + rc = next_entry(buf, fp, sizeof(buf[0]) * 3); + if ( rc < 0 ) goto bad; @@ -1423,7 +1425,7 @@ static int user_read(struct policydb *p, { char *key = NULL; struct user_datum *usrdatum; - int rc, to_read = 2; + int rc; __le32 buf[3]; u32 len; @@ -1436,9 +1438,10 @@ static int user_read(struct policydb *p, memset(usrdatum, 0, sizeof(*usrdatum)); if ( p->policyvers >= POLICYDB_VERSION_BOUNDARY ) - to_read = 3; - - rc = next_entry(buf, fp, sizeof(buf[0]) * to_read); + rc = next_entry(buf, fp, sizeof(buf[0]) * 3); + else + rc = next_entry(buf, fp, sizeof(buf[0]) * 2); + if ( rc < 0 ) goto bad; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |