From 5e85864ab038ecc025bfd606e72b7494fd5fe493 Mon Sep 17 00:00:00 2001 From: Carter Li Date: Mon, 25 Dec 2023 09:56:11 +0800 Subject: [PATCH] PhysicalDisk (FreeBSD): detect read-only --- src/detection/physicaldisk/physicaldisk_bsd.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/detection/physicaldisk/physicaldisk_bsd.c b/src/detection/physicaldisk/physicaldisk_bsd.c index c23b08aea..288c0685d 100644 --- a/src/detection/physicaldisk/physicaldisk_bsd.c +++ b/src/detection/physicaldisk/physicaldisk_bsd.c @@ -60,6 +60,11 @@ const char* ffDetectPhysicalDisk(FFlist* result, FFPhysicalDiskOptions* options) } device->size = (uint64_t) provider->lg_mediasize; ffStrbufInitMove(&device->name, &name); + + int acr = 1, acw = 1; // TODO: find some documents to verify the usage + if (sscanf(provider->lg_mode, "r%dw%de%*d", &acr, &acw) == 2 && acr) + type |= acw ? FF_PHYSICALDISK_TYPE_READONLY : FF_PHYSICALDISK_TYPE_READWRITE; + device->type = type; }