mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-10 08:00:05 +00:00
Codechange: prevent suspicious pointer scaling
This commit is contained in:
parent
170f37d07f
commit
f7af9a299a
2
src/3rdparty/squirrel/squirrel/sqstate.cpp
vendored
2
src/3rdparty/squirrel/squirrel/sqstate.cpp
vendored
@ -513,7 +513,7 @@ void RefTable::AllocNodes(SQUnsignedInteger size)
|
|||||||
bucks[n] = nullptr;
|
bucks[n] = nullptr;
|
||||||
temp->refs = 0;
|
temp->refs = 0;
|
||||||
new (&temp->obj) SQObjectPtr;
|
new (&temp->obj) SQObjectPtr;
|
||||||
temp->next = temp+1;
|
temp->next = &temp[1];
|
||||||
temp++;
|
temp++;
|
||||||
}
|
}
|
||||||
bucks[n] = nullptr;
|
bucks[n] = nullptr;
|
||||||
|
@ -383,7 +383,7 @@ void Blitter_32bppAnim::CopyFromBuffer(void *video, const void *src, int width,
|
|||||||
dst += _screen.pitch;
|
dst += _screen.pitch;
|
||||||
/* Copy back the anim-buffer */
|
/* Copy back the anim-buffer */
|
||||||
memcpy(anim_line, usrc, width * sizeof(uint16));
|
memcpy(anim_line, usrc, width * sizeof(uint16));
|
||||||
usrc = (const uint32 *)((const uint16 *)usrc + width);
|
usrc = (const uint32 *)&((const uint16 *)usrc)[width];
|
||||||
anim_line += this->anim_buf_pitch;
|
anim_line += this->anim_buf_pitch;
|
||||||
|
|
||||||
/* Okay, it is *very* likely that the image we stored is using
|
/* Okay, it is *very* likely that the image we stored is using
|
||||||
@ -422,7 +422,7 @@ void Blitter_32bppAnim::CopyToBuffer(const void *video, void *dst, int width, in
|
|||||||
udst += width;
|
udst += width;
|
||||||
/* Copy the anim-buffer */
|
/* Copy the anim-buffer */
|
||||||
memcpy(udst, anim_line, width * sizeof(uint16));
|
memcpy(udst, anim_line, width * sizeof(uint16));
|
||||||
udst = (uint32 *)((uint16 *)udst + width);
|
udst = (uint32 *)&((uint16 *)udst)[width];
|
||||||
anim_line += this->anim_buf_pitch;
|
anim_line += this->anim_buf_pitch;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -316,8 +316,9 @@ template <bool Tpal_to_rgb> Sprite *Blitter_32bppOptimized::EncodeInternal(const
|
|||||||
const SpriteLoader::CommonPixel *src = (const SpriteLoader::CommonPixel *)src_orig->data;
|
const SpriteLoader::CommonPixel *src = (const SpriteLoader::CommonPixel *)src_orig->data;
|
||||||
|
|
||||||
for (uint y = src_orig->height; y > 0; y--) {
|
for (uint y = src_orig->height; y > 0; y--) {
|
||||||
Colour *dst_px = (Colour *)(dst_px_ln + 1);
|
/* Index 0 of dst_px and dst_n is left as space to save the length of the row to be filled later. */
|
||||||
uint16 *dst_n = (uint16 *)(dst_n_ln + 1);
|
Colour *dst_px = (Colour *)&dst_px_ln[1];
|
||||||
|
uint16 *dst_n = (uint16 *)&dst_n_ln[1];
|
||||||
|
|
||||||
uint16 *dst_len = dst_n++;
|
uint16 *dst_len = dst_n++;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user