diff --git a/platform/src/redox/mod.rs b/platform/src/redox/mod.rs
index b9792e176d27c15f686f59fb0ebd2892f2ed4bf3..4391daa03b98fa8e58ae1f97749bd64bfebac038 100644
--- a/platform/src/redox/mod.rs
+++ b/platform/src/redox/mod.rs
@@ -58,7 +58,10 @@ pub fn ftruncate(fd: c_int, len: off_t) -> {
 pub fn getcwd(buf: *mut c_char, size: size_t) -> {
     // XXX: do something with size maybe
     let rbuf = unsafe { c_str(buf) };
-    syscall::getcwd(rbuf)? as c_int
+    syscall::getcwd(rbuf);
+    unsafe {
+        &*(rbuf as *mut [c_char])
+    }
 }
 
 pub fn open(path: *const c_char, oflag: c_int, mode: mode_t) -> c_int {