diff --git a/library/evdi_lib.c b/library/evdi_lib.c
index ec22b01..8618bc8 100644
--- a/library/evdi_lib.c
+++ b/library/evdi_lib.c
@@ -473,7 +473,8 @@ static bool is_correct_parent_device(const char *dirname, size_t dirname_maxlen,
 {
 	char link_path[PATH_MAX];
 
-	snprintf(link_path, MIN(PATH_MAX - 7, dirname_maxlen), "%s/device", dirname);
+	assert((strnlen(dirname, dirname_maxlen) + 7) < PATH_MAX);
+	snprintf(link_path, sizeof(link_path), "%s/device", dirname);
 
 	if (parent_device == NULL)
 		return access(link_path, F_OK) != 0;
@@ -619,6 +620,7 @@ static enum evdi_device_status evdi_device_to_platform(int device, char *path)
 
 		snprintf(path, PATH_MAX,
 			"/sys/bus/platform/devices/%s", fd_entry->d_name);
+		assert((strnlen(path, PATH_MAX) + 5) < PATH_MAX);
 		snprintf(card_path, PATH_MAX, "%s/drm/card%d", path, device);
 		if (path_exists(card_path)) {
 			status = AVAILABLE;
