diff options
| author | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-07-07 13:30:48 -0700 |
|---|---|---|
| committer | Erick Tryzelaar <erick.tryzelaar@gmail.com> | 2013-08-04 15:45:16 -0700 |
| commit | bd908d4c0e9cc4717928e63d7ed64cd9ffe0bfce (patch) | |
| tree | 320111032a4e6435c3e2a50421909249b8f49f37 /src/libstd/libc.rs | |
| parent | 3102b1797e24b9dd8eef2f68a74ec83749d7b53d (diff) | |
std and rustc: explicitly pass c strings to c functions
When strings lose their trailing null, this pattern will become dangerous: let foo = "bar"; let foo_ptr: *u8 = &foo[0]; Instead we should use c_strs to handle this correctly.
Diffstat (limited to 'src/libstd/libc.rs')
| -rw-r--r-- | src/libstd/libc.rs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libstd/libc.rs b/src/libstd/libc.rs index f96d3ce263e..678704fe098 100644 --- a/src/libstd/libc.rs +++ b/src/libstd/libc.rs @@ -2652,7 +2652,7 @@ pub mod funcs { pub fn execvpe(c: *c_char, argv: **c_char, envp: **c_char) -> c_int; #[link_name = "_getcwd"] - pub fn getcwd(buf: *c_char, size: size_t) -> *c_char; + pub fn getcwd(buf: *mut c_char, size: size_t) -> *c_char; #[link_name = "_getpid"] pub fn getpid() -> c_int; #[link_name = "_isatty"] @@ -2804,7 +2804,7 @@ pub mod funcs { pub fn execvp(c: *c_char, argv: **c_char) -> c_int; pub fn fork() -> pid_t; pub fn fpathconf(filedes: c_int, name: c_int) -> c_long; - pub fn getcwd(buf: *c_char, size: size_t) -> *c_char; + pub fn getcwd(buf: *mut c_char, size: size_t) -> *c_char; pub fn getegid() -> gid_t; pub fn geteuid() -> uid_t; pub fn getgid() -> gid_t ; |
