diff --git a/libsrc/rp6502/f_getcwd.c b/libsrc/rp6502/f_getcwd.c index ef9a0ef22..3473b81e1 100644 --- a/libsrc/rp6502/f_getcwd.c +++ b/libsrc/rp6502/f_getcwd.c @@ -5,8 +5,12 @@ int __fastcall__ f_getcwd (char* name, int size) { int i, ax; - ria_set_ax (size); ax = ria_call_int (RIA_OP_GETCWD); + if (ax > size) { + RIA.op = RIA_OP_ZXSTACK; + errno = ENOMEM; + return -1; + } for (i = 0; i < ax; i++) { name[i] = ria_pop_char (); }