tests: gstreamer: Fix compiler error with gcc 8.4.0
The provider g_autoptr variable introduced by commitadb1bbb748
("tests: gstreamer: Test cameras' enumeration from GstDeviceProvider") is left uninitialized when declared. The cleanup function could thus get called on an unitialized variable if the scope was exited before the variable gets initialized. This can't occur here, but gcc 8.4.0 still complains about it: /usr/include/glib-2.0/glib/gmacros.h: In member function ‘virtual int GstreamerDeviceProviderTest::run()’: /usr/include/glib-2.0/glib/gmacros.h:1049:27: error: ‘provider’ may be used uninitialized in this function [-Werror=maybe-uninitialized] { if (_ptr) (cleanup) ((ParentName *) _ptr); } \ ^ ../test/gstreamer/gstreamer_device_provider_test.cpp:37:32: note: ‘provider’ was declared here g_autoptr(GstDeviceProvider) provider; Silence the error by initializing the variable to NULL at declaration time. This is a good practice in any case, as later refactoring could otherwise introduce a scope exit before initialization. Fixes:adb1bbb748
("tests: gstreamer: Test cameras' enumeration from GstDeviceProvider") Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
5ca0c9276f
commit
03526e58d1
1 changed files with 1 additions and 1 deletions
|
@ -34,7 +34,7 @@ protected:
|
||||||
|
|
||||||
int run() override
|
int run() override
|
||||||
{
|
{
|
||||||
g_autoptr(GstDeviceProvider) provider;
|
g_autoptr(GstDeviceProvider) provider = NULL;
|
||||||
GList *devices, *l;
|
GList *devices, *l;
|
||||||
std::vector<std::string> cameraNames;
|
std::vector<std::string> cameraNames;
|
||||||
std::unique_ptr<libcamera::CameraManager> cm;
|
std::unique_ptr<libcamera::CameraManager> cm;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue