about summary refs log tree commit diff
path: root/src/rt/rust_log.cpp
diff options
context:
space:
mode:
authorBrian Anderson <andersrb@gmail.com>2011-05-13 22:42:52 -0400
committerBrian Anderson <andersrb@gmail.com>2011-05-13 23:22:25 -0400
commit9e9d57657db3eb049cc74c35a6f6323f48551fe0 (patch)
tree0a6da7c1b13be7cff3798bb8af1176c97aa2b056 /src/rt/rust_log.cpp
parent85120d9959a367b0cfc1abb75acb0bec7a244ede (diff)
downloadrust-9e9d57657db3eb049cc74c35a6f6323f48551fe0.tar.gz
rust-9e9d57657db3eb049cc74c35a6f6323f48551fe0.zip
rt: Allocate room for null terminator in logging spec
Diffstat (limited to 'src/rt/rust_log.cpp')
-rw-r--r--src/rt/rust_log.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rt/rust_log.cpp b/src/rt/rust_log.cpp
index 5a2b7142d7b..6152e112d00 100644
--- a/src/rt/rust_log.cpp
+++ b/src/rt/rust_log.cpp
@@ -239,8 +239,9 @@ void update_log_settings(void* crate_map, char* settings) {
     log_directive dirs[256];
     size_t n_dirs = 0;
     if (settings) {
-        buffer = (char*)malloc(strlen(settings));
-        strcpy(buffer, settings);
+        size_t buflen = strlen(settings) + 1;
+        buffer = (char*)malloc(buflen);
+        strncpy(buffer, settings, buflen);
         n_dirs = parse_logging_spec(buffer, &dirs[0]);
     }