Am Dienstag, dem 26.03.2024 um 17:03 +0000 schrieb Jeremy Sowden:
> [...]
> 
> The following should suffice:
> 
>   export DH_VERBOSE = 1
>   export DEB_BUILD_MAINT_OPTIONS = hardening=+all
>   export DEB_LDFLAGS_MAINT_APPEND = -lstdc++fs
> 
>   %:
>           dh $@ --with autoreconf
> 

So, this is exactly what I had initially.

> Running the build one can see:
> 
>   g++ [...] -D_FORTIFY_SOURCE=2 [...]
> 
> so the right argument is being passed to the compiler. 
>  There is a list
> of the functions that are fortified here:
> 
>  
> https://www.gnu.org/software/libc/manual/html_node/Source-Fortification.html
> 
> Does the software use any of these?  If not, this is a false
> positive.
> 
> J.

Galvani only uses "open" for file operations and "read" to read from
usb devices.

I'm a bit confused now. The output of "blhc galvani_0.34-1_amd64.build"
is empty, but "hardening-check -vR /usr/bin/galvani" gives:
------------------------------------
/usr/bin/galvani:
 Position Independent Executable: yes
 Stack protected: yes
 Fortify Source functions: no, only unprotected functions found!
        unprotected: read
        unprotected: memcpy
        unprotected: readlink
        unprotected: vsnprintf
        unprotected: memset
        unprotected: memmove
        unprotected: realpath
        unprotected: getcwd
 Read-only relocations: yes
 Immediate binding: yes
 Stack clash protection: unknown, no -fstack-clash-protection
instructions found
 Control flow integrity: no, not found!
--------------------------------------
followed by a long list.

Burkard

Reply via email to