Optimisation & fixes

This commit is contained in:
2026-06-21 12:59:55 +01:00
parent ab65c2e17b
commit d5125a0d62
14 changed files with 1074 additions and 126 deletions
+7 -3
View File
@@ -67,6 +67,10 @@ func formatProcessList(processes []processInfo) string {
// getProcessNameByPID retrieves the process name for a given PID on Unix systems
func getProcessNameByPID(pid string) string {
if !isValidPID(pid) {
return ""
}
// #nosec G204 -- pid is validated by isValidPID() to contain only digits
cmd := exec.Command("ps", "-p", pid, "-o", "comm=")
output, err := cmd.Output()
if err != nil {
@@ -302,11 +306,11 @@ func FormatConflicts(conflicts []PortConflict) string {
sb.WriteString(strings.Repeat("=", 50) + "\n\n")
for _, conflict := range conflicts {
sb.WriteString(fmt.Sprintf("Port %d\n", conflict.Port))
fmt.Fprintf(&sb, "Port %d\n", conflict.Port)
if conflict.Resource != "" {
sb.WriteString(fmt.Sprintf(" Needed for: %s\n", conflict.Resource))
fmt.Fprintf(&sb, " Needed for: %s\n", conflict.Resource)
}
sb.WriteString(fmt.Sprintf(" Currently used by: %s\n", conflict.UsedBy))
fmt.Fprintf(&sb, " Currently used by: %s\n", conflict.UsedBy)
sb.WriteString("\n")
}