1
0
mirror of https://github.com/cc65/cc65.git synced 2025-02-08 11:31:34 +00:00

rp6502 validate write_xstack count

This commit is contained in:
rumbledethumps 2024-01-30 00:17:28 -08:00
parent dd95d20268
commit 9ffa2d05e6
2 changed files with 5 additions and 2 deletions

View File

@ -47,8 +47,7 @@ struct __RP6502
unsigned char step1; unsigned char step1;
unsigned int addr1; unsigned int addr1;
unsigned char xstack; unsigned char xstack;
unsigned char errno_lo; unsigned int errno;
unsigned char errno_hi;
unsigned char op; unsigned char op;
unsigned char irq; unsigned char irq;
const unsigned char spin; const unsigned char spin;

View File

@ -1,8 +1,12 @@
#include <rp6502.h> #include <rp6502.h>
#include <errno.h>
int __fastcall__ write_xstack (const void* buf, unsigned count, int fildes) int __fastcall__ write_xstack (const void* buf, unsigned count, int fildes)
{ {
unsigned i; unsigned i;
if (count > 256) {
return _mappederrno (EINVAL);
}
for (i = count; i;) { for (i = count; i;) {
ria_push_char (((char*)buf)[--i]); ria_push_char (((char*)buf)[--i]);
} }