Bug 1771 - maybe uninitialized warning for packet metadata
maybe uninitialized warning for packet metadata
Status: RESOLVED FIXED
Product: ns-3
Classification: Unclassified
Component: network
pre-release
PC Linux
: P3 normal
Assigned To: ns-bugs
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-10-11 15:06 UTC by Tom Henderson
Modified: 2013-10-29 01:18 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Henderson 2013-10-11 15:06:06 UTC
On Fedora Core 19 x86_64 system, gcc version 4.8.1 20130603 (Red Hat 4.8.1-1) (GCC)

./waf -d optimized configure --enable-static --disable-gtk --enable-examples --enable-tests && ./waf build

yields:

../src/network/model/packet-metadata.cc: In member function ‘uint32_t ns3::PacketMetadata::Deserialize(const uint8_t*, uint32_t)’:
../src/network/model/packet-metadata.cc:248:27: error: ‘*((void*)& extraItem +8)’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   buffer[0] = value & 0xff;
                           ^
../src/network/model/packet-metadata.cc:1305:36: note: ‘*((void*)& extraItem +8)’ was declared here
   struct PacketMetadata::ExtraItem extraItem;
                                    ^
../src/network/model/packet-metadata.cc:285:34: error: ‘*((void*)& extraItem +4)’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
     uint8_t byte = value & (~0x80);
                                  ^
../src/network/model/packet-metadata.cc:1305:36: note: ‘*((void*)& extraItem +4)’ was declared here
   struct PacketMetadata::ExtraItem extraItem;
                                    ^
../src/network/model/packet-metadata.cc:285:34: error: ‘extraItem’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
     uint8_t byte = value & (~0x80);
                                  ^
../src/network/model/packet-metadata.cc:1305:36: note: ‘extraItem’ was declared here
   struct PacketMetadata::ExtraItem extraItem;
                                    ^
../src/network/model/packet-metadata.cc:241:14: error: ‘*((void*)& item +12)’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   value >>= 8;
              ^
../src/network/model/packet-metadata.cc:1304:36: note: ‘*((void*)& item +12)’ was declared here
   struct PacketMetadata::SmallItem item;
                                    ^
../src/network/model/packet-metadata.cc:285:34: error: ‘*((void*)& item +8)’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
     uint8_t byte = value & (~0x80);
                                  ^
../src/network/model/packet-metadata.cc:1304:36: note: ‘*((void*)& item +8)’ was declared here
   struct PacketMetadata::SmallItem item;
                                    ^
cc1plus: all warnings being treated as errors
Build failed
 -> task in 'ns3-network' failed (exit status 1): 
	{task 44548560: cxx packet-metadata.cc -> packet-metadata.cc.1.o}
['/usr/lib64/ccache/g++', '-O3', '-g', '-Wall', '-Werror', '-march=native', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-I.', '-I..', '-DHAVE_SYS_IOCTL_H=1', '-DHAVE_IF_NETS_H=1', '-DHAVE_NET_ETHERNET_H=1', '-DHAVE_PACKET_H=1', '-DHAVE_DL=1', '-DDL=1', '-DXML2=1', '-DHAVE_SQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DHAVE_GSL=1', '../src/network/model/packet-metadata.cc', '-c', '-o', 'src/network/model/packet-metadata.cc.1.o']
Comment 1 Tom Henderson 2013-10-29 01:18:30 UTC
fixed in 60b0d4d40fb9