Browse Source

minimize scope for unsafe

update documentation

missing check for null
Chelsea Holland Komlo 6 years ago
parent
commit
0c04b54d4d
3 changed files with 3 additions and 3 deletions
  1. 1 1
      src/common/rust_types.c
  2. 1 1
      src/or/protover_rust.c
  3. 1 1
      src/rust/external/external.rs

+ 1 - 1
src/common/rust_types.c

@@ -26,7 +26,7 @@ move_rust_str_to_c_and_free(rust_str_ref_t src, char **dest)
   }
 
   if (!dest) {
-    log_warn(LD_BUG, "Received a null pointer from caller to protover rust. "
+    log_warn(LD_BUG, "Received a null pointer from caller to rust. "
              "This results in a memory leak due to not freeing the rust "
              "string that was meant to be copied..");
     return;

+ 1 - 1
src/or/protover_rust.c

@@ -85,7 +85,7 @@ protover_all_supported(const char *s, char **missing_out)
   rust_str_ref_t missing_out_copy = NULL;
   int is_supported  = rust_protover_all_supported(s, &missing_out_copy);
 
-  if (!is_supported) {
+  if (!is_supported && missing_out_copy != NULL) {
     move_rust_str_to_c_and_free(missing_out_copy, missing_out);
   }
 

+ 1 - 1
src/rust/external/external.rs

@@ -24,6 +24,6 @@ pub fn c_tor_version_as_new_as(platform: &str, cutoff: &str) -> bool {
     let result: c_int;
     unsafe {
         result = tor_version_as_new_as(c_platform.as_ptr(), c_cutoff.as_ptr());
-        result == 1
     }
+    result == 1
 }