diff options
author | Robin Krahl <me@robin-krahl.de> | 2018-07-08 00:37:20 +0200 |
---|---|---|
committer | Robin Krahl <robin.krahl@ireas.org> | 2018-12-10 14:36:40 +0100 |
commit | c1e6bcb3e448962b5f4cf4453e629eae1a82b943 (patch) | |
tree | 7ed3dbef91acaed4c718ba49ad2a11301b1db41c /src | |
parent | 0c0b99880ded2ebb7f2cca68bceb94ec1b82843e (diff) | |
download | nitrokey-rs-c1e6bcb3e448962b5f4cf4453e629eae1a82b943.tar.gz nitrokey-rs-c1e6bcb3e448962b5f4cf4453e629eae1a82b943.tar.bz2 |
Always free string pointers returned by libnitrokey
Old libnitrokey versions could return pointers to both statically and
dynamically allocated strings for functions that return strings. This
has been fixed in libnitrokey commit 7a8550d (included in v3.4). This
patch removes the old workaround and always frees the return value of
functions returning a string pointer.
Diffstat (limited to 'src')
-rw-r--r-- | src/util.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/util.rs b/src/util.rs index d764baa..6f4fbb0 100644 --- a/src/util.rs +++ b/src/util.rs @@ -73,11 +73,10 @@ pub fn result_from_string(ptr: *const c_char) -> Result<String, CommandError> { } unsafe { let s = owned_str_from_ptr(ptr); + free(ptr as *mut c_void); if s.is_empty() { return Err(get_last_error()); } - // TODO: move up for newer libnitrokey versions - free(ptr as *mut c_void); return Ok(s); } } |