aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRobin Krahl <me@robin-krahl.de>2018-07-08 00:37:20 +0200
committerRobin Krahl <robin.krahl@ireas.org>2018-12-10 14:36:40 +0100
commitc1e6bcb3e448962b5f4cf4453e629eae1a82b943 (patch)
tree7ed3dbef91acaed4c718ba49ad2a11301b1db41c /src
parent0c0b99880ded2ebb7f2cca68bceb94ec1b82843e (diff)
downloadnitrokey-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.rs3
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);
}
}