Index: src/classes/os.pmc =================================================================== --- src/classes/os.pmc (revision 10861) +++ src/classes/os.pmc (working copy) @@ -61,11 +61,12 @@ METHOD STRING* cwd() { #ifndef _MSC_VER - STRING *scwd; - char * cwd = getcwd(NULL, 0); + char buf[PATH_MAX+1]; + + char * cwd = getcwd(buf, PATH_MAX+1); + if (cwd) { - scwd = string_from_cstring(interpreter, cwd, strlen(cwd)); - mem_sys_free(cwd); + STRING *scwd = string_from_cstring(interpreter, cwd, strlen(cwd)); return scwd; } else { char *errmsg = strerror(errno);