Fix compile issue

This commit is contained in:
Leigh Scott 2022-07-24 12:53:21 +01:00
parent c1f96c6533
commit 2230f171fb
3 changed files with 86 additions and 15 deletions

77
fix-format-security.patch Normal file
View File

@ -0,0 +1,77 @@
From f8bdd0e64284d841544fd3ebe22f4652902ba8d2 Mon Sep 17 00:00:00 2001
From: Sergei Trofimovich <slyich@gmail.com>
Date: Tue, 9 Nov 2021 22:24:17 +0000
Subject: [PATCH] ui/ui.c: always use "%s"-style format for printf()-style
functions
`ncuses-6.3` added printf-style function attributes and now makes
it easier to catch cases when user input is used in palce of format
string when built with CFLAGS=-Werror=format-security:
ui/ui.c:714:16: error: format not a string literal and no format arguments [-Werror=format-security]
714 | printw(copy_to);
| ^~~~~~~
Let's wrap all the missing places with "%s" format.
---
ui/ui.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/ui/ui.c b/ui/ui.c
index 1be8f95..6ff3305 100644
--- a/ui/ui.c
+++ b/ui/ui.c
@@ -26,7 +26,7 @@ void show_frame()
while(strlen(top) != (size_t)COLS - 1) {
snprintf(top + strlen(top), COLS - strlen(top), " ");
}
- mvprintw(0, 0, top);
+ mvprintw(0, 0, "%s", top);
for(i = 0; i < LINES; i++) {
mvprintw(i, 0, " ");
mvprintw(i, COLS - 1, " ");
@@ -42,7 +42,7 @@ void show_footer()
snprintf(footer + strlen(footer), COLS - strlen(footer), " ");
}
attrset(COLOR_PAIR(4));
- mvprintw(LINES - 1, 0, footer);
+ mvprintw(LINES - 1, 0, "%s", footer);
}
char * check_control_in_sleep_input(int max_len, int column_offest, int line_offset)
@@ -331,7 +331,7 @@ void print_assigned_objects_string(irq_t *irq, int *line_offset)
char assigned_to[128] = "\0";
for_each_int(irq->assigned_to, copy_assigned_obj, assigned_to);
assigned_to[strlen(assigned_to) - 2] = '\0';
- mvprintw(*line_offset, 36, assigned_to);
+ mvprintw(*line_offset, 36, "%s", assigned_to);
}
void print_irq_line(irq_t *irq, void *data)
@@ -566,7 +566,7 @@ void settings()
uint8_t sleep_input_offset = strlen(info) + 3;
snprintf(info + strlen(info), 128 - strlen(info), "%" PRIu64 "\n", setup.sleep);
attrset(COLOR_PAIR(1));
- mvprintw(2, 3, info);
+ mvprintw(2, 3, "%s", info);
print_all_cpus();
int user_input = 1;
@@ -664,7 +664,7 @@ void display_tree_node_irqs(irq_t *irq, void *data)
char indent[32] = " \0";
snprintf(indent + strlen(indent), 32 - strlen(indent), "%s", (char *)data);
attrset(COLOR_PAIR(3));
- printw("%sIRQ %lu, IRQs since last rebalance %lu\n",
+ printw("%sIRQ %u, IRQs since last rebalance %lu\n",
indent, irq->vector, irq->diff);
}
@@ -711,7 +711,7 @@ void display_tree_node(cpu_node_t *node, void *data)
default:
break;
}
- printw(copy_to);
+ printw("%s", copy_to);
if(g_list_length(node->irqs) > 0) {
for_each_irq(node->irqs, display_tree_node_irqs, indent);
}

View File

@ -1,11 +0,0 @@
--- a/misc/irqbalance.service 2020-06-02 14:33:35.794592546 +0200
+++ b/misc/irqbalance.service 2020-06-02 14:34:08.678922108 +0200
@@ -5,7 +5,7 @@
ConditionVirtualization=!container
[Service]
-EnvironmentFile=/path/to/irqbalance.env
+EnvironmentFile=/etc/sysconfig/irqbalance
ExecStart=/usr/sbin/irqbalance --foreground $IRQBALANCE_ARGS
CapabilityBoundingSet=
NoNewPrivileges=yes

View File

@ -1,13 +1,15 @@
Name: irqbalance
Version: 1.8.0
Release: 3%{?dist}
Release: 4%{?dist}
Epoch: 2
Summary: IRQ balancing daemon
License: GPLv2
Url: https://github.com/Irqbalance/irqbalance
Source0: https://github.com/Irqbalance/irqbalance/archive/irqbalance-%{version}.tar.gz
URL: https://github.com/Irqbalance/irqbalance
Source0: %{url}/archive/v%{version}/irqbalance-%{version}.tar.gz
Source1: irqbalance.sysconfig
Patch0: %{url}/commit/f8bdd0e64284d841544fd3ebe22f4652902ba8d2.patch#/fix-format-security.patch
BuildRequires: autoconf automake libtool libcap-ng
BuildRequires: glib2-devel pkgconf libcap-ng-devel
@ -28,7 +30,7 @@ irqbalance is a daemon that evenly distributes IRQ load across
multiple CPUs for enhanced performance.
%prep
%setup -q
%autosetup -p1
%build
./autogen.sh
@ -62,6 +64,9 @@ make check
%systemd_postun_with_restart irqbalance.service
%changelog
* Sun Jul 24 2022 Leigh Scott <leigh123linux@gmail.com> - 2:1.8.0-4
- Fix compile issue
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.8.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild