1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-25 13:29:41 +00:00

Fixing buffer overflow with cwd command (FILENAME_MAX must be at 50 +1 bytes)

This commit is contained in:
jede 2017-09-25 21:39:57 +02:00
parent 86741cb1dd
commit d8904c550b
4 changed files with 14 additions and 6 deletions

View File

@ -47,6 +47,8 @@ FILENAME_MAX = 64+1
FILENAME_MAX = 12+1
.elseif .defined(__LUNIX__)
FILENAME_MAX = 80+1
.elseif .defined(__TELESTRAT__)
FILENAME_MAX = 50+1
.else
FILENAME_MAX = 16+1
.endif

View File

@ -15,7 +15,7 @@ FUNCTKEY = $A5
FNAME_LEN = 11 ; maximum length of file-name
FILENAME_MAX = 100
FILENAME_MAX = 200
; ---------------------------------------------------------------------------
; Zero page
@ -151,6 +151,7 @@ SCRX := $220
SCRY := $224
ADSCRL := $218
ADSCRH := $21C
IRQVECTOR := $2FA
; ---------------------------------------------------------------------------

View File

@ -75,6 +75,8 @@ extern FILE* stderr;
# define FILENAME_MAX (12+1)
#elif defined(__LUNIX__)
# define FILENAME_MAX (80+1)
#elif defined(__TELESTRAT__)
# define FILENAME_MAX (50+1)
#else
# define FILENAME_MAX (16+1)
#endif

View File

@ -1,5 +1,5 @@
;
; Oliver Schmidt, 18.04.2005
; Jede (jede@oric.org) 24.09.2017
;
.export initcwd
@ -10,14 +10,17 @@
initcwd:
ldx #PWD_PTR
BRK_TELEMON XVARS
sta tmp1
sty tmp1+1
sta ptr1
sty ptr1+1
ldy #$00
loop:
lda (tmp1),y
lda (ptr1),y
beq done
sta __cwd,y
iny