http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56698



             Bug #: 56698

           Summary: "array subscript is above array bounds" triggered on

                    code that doesn't have that problem

    Classification: Unclassified

           Product: gcc

           Version: 4.7.2

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: c++

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: mh+...@glandium.org





I've been trying to get Firefox building with gcc 4.7 on the Mozilla build

slaves, and with PGO enabled, I'm getting an "array subscript is above array

bounds" error (we do uses -Werror in some places) on code that doesn't look

like it would have the problem. It doesn't happen without PGO.



The line of code it happens on is:

https://hg.mozilla.org/mozilla-central/file/bcf09432affd/netwerk/cache/nsDiskCacheMap.cpp#l1028



mBlockFile is defined here:

https://hg.mozilla.org/mozilla-central/file/bcf09432affd/netwerk/cache/nsDiskCacheMap.h#l570



kNumBlockFiles is defined here:

https://hg.mozilla.org/mozilla-central/file/bcf09432affd/netwerk/cache/nsDiskCacheMap.h#l59



and CalculateFileIndex here.

https://hg.mozilla.org/mozilla-central/file/bcf09432affd/netwerk/cache/nsDiskCacheMap.cpp#l1028/



With these, I see no way "fileIndex - 1" can be "above array bounds" of

mBlockFile[3], when fileIndex can only be 0, 1, 2 or 3. (and yes, there might

be a problem when fileIndex is 0, but that's not "above array bounds")

Reply via email to