Skip to content

webserver.cpp:610:51: error: 'sid' may be used uninitialized in this function  #62

@dopry

Description

@dopry

When creating a release build, this error warning kills the build. I can tell that sid gets assigned on line 563, but the compiler isn't bright enough to see that the two if conditions are mutually inclusive.

Here is the full make output.

g++ -c -Wall -Wno-unknown-pragmas -Werror -Wno-format -O3 -DNDEBUG -I /usr/include/openzwave/ -I /usr/include/openzwave/command_classes/ -I /usr/include/openzwave/value_classes/ -I /usr/include/openzwave/platform/ -I /usr/include/openzwave/platform/unix -I /usr/include/openzwave/cpp/tinyxml/ -I /usr/include/ -o ozwcp.o ozwcp.cpp
g++ -c -Wall -Wno-unknown-pragmas -Werror -Wno-format -O3 -DNDEBUG -I /usr/include/openzwave/ -I /usr/include/openzwave/command_classes/ -I /usr/include/openzwave/value_classes/ -I /usr/include/openzwave/platform/ -I /usr/include/openzwave/platform/unix -I /usr/include/openzwave/cpp/tinyxml/ -I /usr/include/ -o webserver.o webserver.cpp
webserver.cpp: In member function 'const char* Webserver::SendSceneResponse(MHD_Connection*, const char*, const char*, const char*, const char*)':
webserver.cpp:610:51: error: 'sid' may be used uninitialized in this function [-Werror=maybe-uninitialized]
   cnt = Manager::Get()->SceneGetValues(sid, &vids);
                                                   ^
cc1plus: all warnings being treated as errors
make: *** [Makefile:40: webserver.o] Error 1

The simple solution seems to be to init the scene id (sid) as either 0 or atoi((char *)arg1) on line 543.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions