stb_image: avoid signed left shifts
This commit is contained in:
parent
74a21dc615
commit
4fd9019c0f
@ -1767,7 +1767,7 @@ static int stbi__build_huffman(stbi__huffman *h, int *count)
|
|||||||
if (h->size[k] == j) {
|
if (h->size[k] == j) {
|
||||||
while (h->size[k] == j)
|
while (h->size[k] == j)
|
||||||
h->code[k++] = (stbi__uint16) (code++);
|
h->code[k++] = (stbi__uint16) (code++);
|
||||||
if (code-1 >= (1 << j)) return stbi__err("bad code lengths","Corrupt JPEG");
|
if (code-1 >= (1u << j)) return stbi__err("bad code lengths","Corrupt JPEG");
|
||||||
}
|
}
|
||||||
// compute largest code + 1 for this size, preshifted as needed later
|
// compute largest code + 1 for this size, preshifted as needed later
|
||||||
h->maxcode[j] = code << (16-j);
|
h->maxcode[j] = code << (16-j);
|
||||||
@ -1811,7 +1811,7 @@ static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h)
|
|||||||
if (k < m) k += (~0U << magbits) + 1;
|
if (k < m) k += (~0U << magbits) + 1;
|
||||||
// if the result is small enough, we can fit it in fast_ac table
|
// if the result is small enough, we can fit it in fast_ac table
|
||||||
if (k >= -128 && k <= 127)
|
if (k >= -128 && k <= 127)
|
||||||
fast_ac[i] = (stbi__int16) ((k << 8) + (run << 4) + (len + magbits));
|
fast_ac[i] = (stbi__int16) ((k * 256) + (run * 16) + (len + magbits));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1820,7 +1820,7 @@ static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h)
|
|||||||
static void stbi__grow_buffer_unsafe(stbi__jpeg *j)
|
static void stbi__grow_buffer_unsafe(stbi__jpeg *j)
|
||||||
{
|
{
|
||||||
do {
|
do {
|
||||||
int b = j->nomore ? 0 : stbi__get8(j->s);
|
unsigned int b = j->nomore ? 0 : stbi__get8(j->s);
|
||||||
if (b == 0xff) {
|
if (b == 0xff) {
|
||||||
int c = stbi__get8(j->s);
|
int c = stbi__get8(j->s);
|
||||||
while (c == 0xff) c = stbi__get8(j->s); // consume fill bytes
|
while (c == 0xff) c = stbi__get8(j->s); // consume fill bytes
|
||||||
|
Loading…
Reference in New Issue
Block a user