diff --git a/src/common/processing_linux.c b/src/common/processing_linux.c index 934a1c01b..26112248b 100644 --- a/src/common/processing_linux.c +++ b/src/common/processing_linux.c @@ -327,12 +327,12 @@ void ffProcessGetInfoLinux(pid_t pid, FFstrbuf* processName, FFstrbuf* exe, cons { // args = "/bin/bash -l" // argc = 2 - int argc = info.argc - 1; // 1 - const char* arg0End = strchr(p, ' '); // " -l" + int argc = info.argc - 1; + const char* arg0End = strchr(info.args, ' '); for (const char* p = arg0End + 1; (p = strchr(p, ' ')); ++p) --argc; - if (argc == 1) - ffStrbufSetNS(exe, info.args, arg0End - info.args /* /bin/bash */); + if (argc == 1) // No whitespace in the file path + ffStrbufSetNS(exe, (uint32_t) (arg0End - info.args), info.args); } } } diff --git a/src/detection/physicaldisk/physicaldisk_haiku.c b/src/detection/physicaldisk/physicaldisk_haiku.c index a64857114..2599387ef 100644 --- a/src/detection/physicaldisk/physicaldisk_haiku.c +++ b/src/detection/physicaldisk/physicaldisk_haiku.c @@ -34,7 +34,7 @@ static const char* detectDisk(FFstrbuf* path, const char* diskType, FFlist* resu device->type = FF_PHYSICALDISK_TYPE_NONE; device->type |= (geometry.read_only ? FF_PHYSICALDISK_TYPE_READONLY : FF_PHYSICALDISK_TYPE_READWRITE) | (geometry.removable ? FF_PHYSICALDISK_TYPE_REMOVABLE : FF_PHYSICALDISK_TYPE_FIXED); - device->size = (uint64_t) geometry.cylinder_count *geometry.heads * geometry.sectors_per_track * geometry.bytes_per_sector; + device->size = (uint64_t) geometry.cylinder_count * geometry.head_count * geometry.sectors_per_track * geometry.bytes_per_sector; return NULL; }