community/cdw: fix build with -Wformat -Werror=format-security

Patch taken from Debian.
This commit is contained in:
Sören Tempel 2023-04-23 19:22:50 +02:00
parent c773ad5376
commit 13665bcde9
2 changed files with 45 additions and 4 deletions

View File

@ -2,7 +2,7 @@
# Maintainer: ScrumpyJack <scrumpyjack@st.ilet.to>
pkgname=cdw
pkgver=0.8.1
pkgrel=5
pkgrel=6
pkgdesc="cdw is a front-end for cd recoding tools"
url="https://cdw.sourceforge.net/"
arch="all"
@ -12,7 +12,8 @@ makedepends="ncurses-dev libcdio-dev libburn-dev bison gettext-dev
linux-headers"
subpackages="$pkgname-doc"
source="https://downloads.sourceforge.net/cdw/cdw-$pkgver.tar.gz
cdw_colors.c.patch"
cdw_colors.c.patch
format-string.patch"
build() {
export LIBS="-lintl" && ./configure --prefix=/usr
@ -24,5 +25,8 @@ package() {
make DESTDIR="$pkgdir" install
}
sha512sums="08f6bac823f534987835f434190601d0a72df2246ff78bfe1af98fd30dda25edb8cf2e09161b3a0bc55e9efefbc453b409cc95fd3c117d447f07e49f79072e33 cdw-0.8.1.tar.gz
60f882f246ca3739e207d91c95ddf41b03f306012fa771ecf5f9a62497756b8e4d615c2bbc71bfa02cab3cd77b6f6ecf7367a9ef92319f46764f89412b1e2cff cdw_colors.c.patch"
sha512sums="
08f6bac823f534987835f434190601d0a72df2246ff78bfe1af98fd30dda25edb8cf2e09161b3a0bc55e9efefbc453b409cc95fd3c117d447f07e49f79072e33 cdw-0.8.1.tar.gz
60f882f246ca3739e207d91c95ddf41b03f306012fa771ecf5f9a62497756b8e4d615c2bbc71bfa02cab3cd77b6f6ecf7367a9ef92319f46764f89412b1e2cff cdw_colors.c.patch
ca9f99a8e73bb40bf6f18231b69722a229a7c51ee3562687b8896356f32a9f1028b4c9e1a7a7f708d31de0765d3a49dde63072b8c5cfda1400b96166be277e6b format-string.patch
"

View File

@ -0,0 +1,37 @@
Fix build with -Wformat -Werror=format-security.
Patch-Source: https://sources.debian.org/patches/cdw/0.8.1-2/02-correct-string-literal.patch
--- cdw-0.8.1.orig/src/user_interface/cdw_main_window.c
+++ cdw-0.8.1/src/user_interface/cdw_main_window.c
@@ -615,7 +615,7 @@ void cdw_main_window_disc_info_view_disp
return;
} else {
if (disc->state_empty == CDW_TRUE) {
- mvwprintw(cdw_ui.disc_info_view.subwindow, row_h, pcol, disc->type_label);
+ mvwprintw(cdw_ui.disc_info_view.subwindow, row_h, pcol, "%s", disc->type_label);
} else {
mvwprintw(cdw_ui.disc_info_view.subwindow, row_h, pcol,
/* 2TRANS: this is string displaying information
--- cdw-0.8.1.orig/src/user_interface/cdw_window.c
+++ cdw-0.8.1/src/user_interface/cdw_window.c
@@ -324,7 +324,7 @@ int cdw_window_print_message(WINDOW *win
cdw_vdm ("ERROR: can't produce wrapped string\n");
return -1;
}
- mvwprintw(window, 0, 0, string);
+ mvwprintw(window, 0, 0, "%s", string);
free(string);
string = (char *) NULL;
--- cdw-0.8.1.orig/src/user_interface/widgets/cdw_dropdown.c
+++ cdw-0.8.1/src/user_interface/widgets/cdw_dropdown.c
@@ -704,7 +704,7 @@ void cdw_dropdown_display_current_item_r
mvwprintw(dropdown->parent, dropdown->begin_y, dropdown->begin_x + dropdown->width - 1, "]");
/* 'real' content */
- mvwprintw(dropdown->parent, dropdown->begin_y, dropdown->begin_x + 1, dropdown->items[dropdown->current_item_ind]->label);
+ mvwprintw(dropdown->parent, dropdown->begin_y, dropdown->begin_x + 1, "%s", dropdown->items[dropdown->current_item_ind]->label);
/* and now fancy, bolded arrow by the dropdown */
if (reverse) {