From cd294d35ffb0716be6083840e72fddfc3c366a6c Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Mon, 10 May 2021 18:26:00 +0200
Subject: [PATCH] [Cache] Fix invalid pointer use for returned user home

---
 src/cache.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/cache.rs b/src/cache.rs
index 930d840..f5fa9d9 100644
--- a/src/cache.rs
+++ b/src/cache.rs
@@ -20,7 +20,7 @@ use std::collections::HashMap;
 use std::sync::{Mutex, MutexGuard};
 
 use libc::{geteuid, seteuid, getpwnam, uid_t};
-use std::ffi::CString;
+use std::ffi::{CStr, CString};
 
 use oauth2::basic::BasicTokenResponse;
 
@@ -114,7 +114,7 @@ impl Cache {
         };
         let user_home;
         unsafe {
-           user_home = CString::from_raw((*getpwnam(nam.as_ptr())).pw_dir);
+           user_home = CStr::from_ptr((*getpwnam(nam.as_ptr())).pw_dir);
         };
 
         env::set_var("HOME", user_home.to_str().unwrap());
-- 
GitLab