Control: tag -1 patch

Hi

On Wed, 2024-07-03 at 12:26:27 +0000, Matthias Klose wrote:
> Package: src:ffproxy
> Version: 1.6-12
> Severity: important
> Tags: sid trixie
> User: debian-...@lists.debian.org
> Usertags: ftbfs-gcc-14

> The package fails to build in a test rebuild on at least amd64 with
> gcc-14/g++-14, but succeeds to build with gcc-13/g++-13. The
> severity of this report will be raised before the trixie release.

> [...]
> gcc -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
> -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection 
> -DCFGFILE="\"/etc/ffproxy/ffproxy.conf\"" -DDATADIR="\"/usr/share/ffproxy\""  
> -Wdate-time -D_FORTIFY_SOURCE=2  -c -o msg.o msg.c
> msg.c: In function ‘err_msg’:
> msg.c:49:19: error: assignment to ‘char *’ from incompatible pointer type 
> ‘struct msg *’ [-Wincompatible-pointer-types]
>    49 |                 p = e_inv;
>       |                   ^
> msg.c:52:19: error: assignment to ‘char *’ from incompatible pointer type 
> ‘struct msg *’ [-Wincompatible-pointer-types]
>    52 |                 p = e_res;
>       |                   ^
> msg.c:55:19: error: assignment to ‘char *’ from incompatible pointer type 
> ‘struct msg *’ [-Wincompatible-pointer-types]
>    55 |                 p = e_con;
>       |                   ^
> msg.c:58:19: error: assignment to ‘char *’ from incompatible pointer type 
> ‘struct msg *’ [-Wincompatible-pointer-types]
>    58 |                 p = e_post;
>       |                   ^
> msg.c:61:19: error: assignment to ‘char *’ from incompatible pointer type 
> ‘struct msg *’ [-Wincompatible-pointer-types]
>    61 |                 p = e_fil;
>       |                   ^
> msg.c:98:24: warning: ignoring return value of ‘write’ declared with 
> attribute ‘warn_unused_result’ [-Wunused-result]
>    98 |                 (void) write(s, msg, i - 1);
>       |                        ^~~~~~~~~~~~~~~~~~~~
> make[1]: *** [<builtin>: msg.o] Error 1
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_build: error: make -j1 returned exit code 2
> make: *** [debian/rules:12: build] Error 25
> dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

The attached patch fixes the build.

Thanks,
Guillem
diff --git c/debian/patches/fix-incompat-ptr-types.patch i/debian/patches/fix-incompat-ptr-types.patch
new file mode 100644
index 0000000..42f3f48
--- /dev/null
+++ i/debian/patches/fix-incompat-ptr-types.patch
@@ -0,0 +1,40 @@
+Author: Guillem Jover <gjo...@sipwise.com>
+Description: Fix incompatible pointer type asssignment
+ We cannot assign a struct into a char *, even if the first member is a char *.
+ Instead assign that member into the variable.
+Origin: vendor
+Bug-Debian: https://bugs.debian.org/1074954
+Forwarded: no
+Last-Update: 2024-09-16
+
+---
+ msg.c |   10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+--- a/msg.c
++++ b/msg.c
+@@ -46,19 +46,19 @@ err_msg(int s, struct req * r, int m)
+ 
+ 	switch (m) {
+ 	case E_INV:
+-		p = e_inv;
++		p = e_inv->c;
+ 		break;
+ 	case E_RES:
+-		p = e_res;
++		p = e_res->c;
+ 		break;
+ 	case E_CON:
+-		p = e_con;
++		p = e_con->c;
+ 		break;
+ 	case E_POST:
+-		p = e_post;
++		p = e_post->c;
+ 		break;
+ 	case E_FIL:
+-		p = e_fil;
++		p = e_fil->c;
+ 		break;
+ 	}
+ 
diff --git c/debian/patches/series i/debian/patches/series
index 1da3530..983d3b6 100644
--- c/debian/patches/series
+++ i/debian/patches/series
@@ -7,3 +7,4 @@
 06_handle-multibytes-headers
 07_fix_segfault_syslog_logrequests
 08_fix_variables_declaration_conflicts
+fix-incompat-ptr-types.patch

Reply via email to