[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] smartlist.rs: The libc::c_char type is not the same as i8.



commit 1dab8bae21bc32e5d4e3ff954f4919d6506ad2e1
Author: Nick Mathewson <nickm@xxxxxxxxxxxxxx>
Date:   Thu Jan 4 12:20:54 2018 -0500

    smartlist.rs: The libc::c_char type is not the same as i8.
    
    The code had been using c_char and i8 interchangeably, but it turns
    out that c_char is only i8 on platforms where "char" is signed. On
    other platforms, c_char is u8.
    
    Fixes bug 24794; bug not on any released Tor.
---
 src/rust/smartlist/smartlist.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/rust/smartlist/smartlist.rs b/src/rust/smartlist/smartlist.rs
index ec5d7a57f..2a822d89f 100644
--- a/src/rust/smartlist/smartlist.rs
+++ b/src/rust/smartlist/smartlist.rs
@@ -33,7 +33,7 @@ impl Smartlist<String> for Stringlist {
 
         // unsafe, as we need to extract the smartlist list into a vector of
         // pointers, and then transform each element into a Rust string.
-        let elems: &[*const i8] =
+        let elems: &[*const c_char] =
             unsafe { slice::from_raw_parts(self.list, self.num_used as usize) };
 
         for elem in elems.iter() {

_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits