On 11/03/2017 02:10, Joel Sherrill wrote:
And to pile on... Coverity thinks there is an out of bounds write
in xz_dec_lzma2.c:

https://scan5.coverity.com/reports.htm#v29808/p10069/fileInstanceId=108959059&defectInstanceId=30877313&mergedDefectId=711586

779         * All probabilities are initialized to the same value. This hack
 780         * makes the code smaller by avoiding a separate loop for each
 781         * probability array.
 782         *
 783         * This could be optimized so that only that part of literal
 784         * probabilities that are actually required. In the common case
 785         * we would write 12 KiB less.
 786         */
    1. alias: Assigning: probs = s->lzma.is_match[0]. probs now points
to element 0 of s->lzma.is_match (which consists of 192 2-byte elements).
 787        probs = s->lzma.is_match[0];
    2. Condition i < 14134U /* 1846 + (1 << 4) * 768 */, taking true branch.
    4. Condition i < 14134U /* 1846 + (1 << 4) * 768 */, taking true branch.
    5. cond_at_most: Checking i < 14134U implies that i may be up to
14133 on the true branch.
 788        for (i = 0; i < PROBS_TOTAL; ++i)
    3. Jumping back to the beginning of the loop.

CID 711586 (#1 of 1): Out-of-bounds write (OVERRUN)
6. overrun-local: Overrunning array of 192 2-byte elements at element
index 14133 (byte offset 28266) by dereferencing pointer probs + i.
 789                probs[i] = RC_BIT_MODEL_TOTAL / 2;
 790


I am ok looking into warnings however I suggest you approach upstream with any issues related to the code. I do not know the code.

Chris
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to