Skip to content
This repository has been archived by the owner on Aug 1, 2020. It is now read-only.
/ readsb Public archive

fix warnings when compiling with gcc8 #14

Merged
merged 1 commit into from
Jun 27, 2019

Conversation

nnathan
Copy link
Contributor

@nnathan nnathan commented Jun 26, 2019

E.g. when compiling with gcc8 with warnings as errors you'll get
the following:

mode_s.c: In function 'nav_modes_to_string':
mode_s.c:1626:9: error: 'strncat' specified bound 10 equals source length [-Werror=stringop-overflow=]
strncat(buf, "autopilot ", 10);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This error is indicating that you should be using strcat instead of strncat
since the length of source is same as the bound.

@nnathan nnathan changed the base branch from master to dev June 26, 2019 06:20
E.g. when compiling with gcc8 with warnings as errors you'll get the following:

    mode_s.c: In function 'nav_modes_to_string':
    mode_s.c:1626:9: error: 'strncat' specified bound 10 equals source length [-Werror=stringop-overflow=]
    strncat(buf, "autopilot ", 10);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This error is indicating that you should be using strcat instead of strncat
since the length of source is same as the bound.
@Mictronics
Copy link
Owner

I cannot reproduce this error on Ubuntu 18.04.
My compiler call:
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -Werror=stringop-overflow -c mode_s.c -o mode_s.o

@gregory-sh
Copy link

building on the new raspbian buster with gcc (Raspbian 8.3.0-6+rpi1) 8.3.0
and the command make BLADERF=no
i am also seeing this issue,

cc -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/local/include/ -I/usr/include/libusb-1.0 -I/usr/local/include -c dump1090.c -o dump1090.o
cc -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/local/include/ -I/usr/include/libusb-1.0 -I/usr/local/include -c anet.c -o anet.o
cc -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/local/include/ -I/usr/include/libusb-1.0 -I/usr/local/include -c interactive.c -o interactive.o
cc -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/local/include/ -I/usr/include/libusb-1.0 -I/usr/local/include -c mode_ac.c -o mode_ac.o
cc -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/local/include/ -I/usr/include/libusb-1.0 -I/usr/local/include -c mode_s.c -o mode_s.o
mode_s.c: In function ‘nav_modes_to_string’:
mode_s.c:1626:9: error: ‘strncat’ specified bound 10 equals source length [-Werror=stringop-overflow=]
         strncat(buf, "autopilot ", 10);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mode_s.c:1630:9: error: ‘strncat’ specified bound 8 equals source length [-Werror=stringop-overflow=]
         strncat(buf, "althold ", 8);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mode_s.c:1632:9: error: ‘strncat’ specified bound 9 equals source length [-Werror=stringop-overflow=]
         strncat(buf, "approach ", 9);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
mode_s.c:1634:9: error: ‘strncat’ specified bound 5 equals source length [-Werror=stringop-overflow=]
         strncat(buf, "lnav ", 5);
         ^~~~~~~~~~~~~~~~~~~~~~~~
mode_s.c:1636:9: error: ‘strncat’ specified bound 5 equals source length [-Werror=stringop-overflow=]
         strncat(buf, "tcas ", 5);
         ^~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make: *** [Makefile:60: mode_s.o] Error 1

@Mictronics
Copy link
Owner

Having gcc (Ubuntu 8.3.0-6ubuntu1~18.04.1) 8.3.0 and compiling with full support:

/usr/bin/make -f Makefile all HTMLPATH=/usr/share/dump1090-fa/html BLADERF=yes RTLSDR=yes AGGRESSIVE=no PLUTOSDR=yes HAVE_BIASTEE=no CC=gcc-8
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c dump1090.c -o dump1090.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c anet.c -o anet.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c interactive.c -o interactive.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c mode_ac.c -o mode_ac.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c mode_s.c -o mode_s.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c comm_b.c -o comm_b.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c net_io.c -o net_io.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c crc.c -o crc.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c demod_2400.c -o demod_2400.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c stats.c -o stats.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c cpr.c -o cpr.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c icao_filter.c -o icao_filter.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c track.c -o track.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c util.c -o util.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c convert.c -o convert.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c sdr_ifile.c -o sdr_ifile.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c sdr_beast.c -o sdr_beast.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c sdr.c -o sdr.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c ais_charset.c -o ais_charset.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c sdr_rtlsdr.c -o sdr_rtlsdr.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c sdr_bladerf.c -o sdr_bladerf.o
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c sdr_plutosdr.c -o sdr_plutosdr.o
gcc-8 -g -o dump1090 dump1090.o anet.o interactive.o mode_ac.o mode_s.o comm_b.o net_io.o crc.o demod_2400.o stats.o cpr.o icao_filter.o track.o util.o convert.o sdr_ifile.o sdr_beast.o sdr.o ais_charset.o sdr_rtlsdr.o sdr_bladerf.o sdr_plutosdr.o  -lpthread -lm -lrt -lrtlsdr -lusb-1.0 -L/usr/lib/x86_64-linux-gnu/ -lbladeRF -L/usr/local/lib -liio -lad9361 -lncurses
gcc-8 -DMODES_DUMP1090_VERSION=\"'Mictronics base v3.7.1'\" -DMODES_DUMP1090_VARIANT=\"dump1090-fa\" -D_GNU_SOURCE -DENABLE_RTLSDR -DENABLE_BLADERF -DENABLE_PLUTOSDR -std=c11 -O2 -g -W -D_DEFAULT_SOURCE -Wall -Werror -I/usr/include/ -I/usr/include/ -I/usr/local/include -c view1090.c -o view1090.o
gcc-8 -g -o view1090 view1090.o anet.o interactive.o mode_ac.o mode_s.o comm_b.o net_io.o crc.o stats.o cpr.o icao_filter.o track.o util.o ais_charset.o  -lpthread -lm -lrt -lncurses

BUILD SUCCESSFUL (total time: 4s)

@Mictronics Mictronics merged commit 7df52e3 into Mictronics:dev Jun 27, 2019
@Mictronics
Copy link
Owner

Don't know why there is a difference between Ubuntu and Raspian buster but let's get this fixed.
Thanks for contribution.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
3 participants