fix malloc/free bug; use absolute path; only map 4K of each file