diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_device.h
index 474c05b..5fe3d82 100644
--- a/src/libcamera/include/v4l2_device.h
+++ b/src/libcamera/include/v4l2_device.h
@@ -45,9 +45,9 @@ public:
 	bool isOpen() const;
 	void close();

-	const char *driverName() const { return caps_.driver(); }
-	const char *deviceName() const { return caps_.card(); }
-	const char *busName() const { return caps_.bus_info(); }
+	const std::string driverName() const { return std::string(caps_.driver()); }
+	const std::string deviceName() const { return std::string(caps_.card()); }
+	const std::string busName() const { return std::string(caps_.bus_info()); }

 private:
 	std::string devnode_;
