diff --git a/src/arch/x86_64/kernel/processor.rs b/src/arch/x86_64/kernel/processor.rs
index d966948258e7529dce18c7c4a63b17c1d5a50f81..b4e81da0d530d05c498c60dd8d4b28b6b37cccf7 100644
--- a/src/arch/x86_64/kernel/processor.rs
+++ b/src/arch/x86_64/kernel/processor.rs
@@ -288,6 +288,7 @@ impl CpuFrequency {
 			source: CpuFrequencySources::Invalid,
 		}
 	}
+
 	fn set_detected_cpu_frequency(
 		&mut self,
 		mhz: u16,
diff --git a/src/syscalls/interfaces/mod.rs b/src/syscalls/interfaces/mod.rs
index cac2fd18a6446344e561bd87c29a4403d638499d..3bc3dbc7ccb15e42294ac0160a349b5f8db737c9 100644
--- a/src/syscalls/interfaces/mod.rs
+++ b/src/syscalls/interfaces/mod.rs
@@ -41,7 +41,12 @@ pub trait SyscallInterface: Send + Sync {
 
 		let argc = argv.len() as i32;
 		let argv = argv.leak().as_ptr();
-		let envv = envv.leak().as_ptr();
+		// do we have more than a end marker? If not, return as null pointer
+		let envv = if envv.len() == 1 {
+			core::ptr::null::<*const u8>()
+		} else {
+			envv.leak().as_ptr()
+		};
 
 		(argc, argv, envv)
 	}