Fixing buffer overflow with cwd command (FILENAME_MAX must be at 50 +1 bytes)
This commit is contained in:
parent
86741cb1dd
commit
d8904c550b
4 changed files with 14 additions and 6 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue