[libcamera-devel] [PATCH 1/2] gst: provider: Fix crash in finalize

Umang Jain email at uajain.com
Fri Mar 12 06:05:11 CET 2021


Hi Nicolas,

Thank you for the patch.

On 3/12/21 2:22 AM, Nicolas Dufresne wrote:
> From: Nicolas Dufresne <nicolas.dufresne at collabora.com>
>
> Both the DeviceProvider and Device classes had the same mistake,
> calling G_OBJECT_GET_CLASS() instead of G_OBJECT_CLASS() when
> chaining their finalize call to their base class. This would
> crash at destruction, which was causing gst-device-monitor-1.0
> tool to crash and application using that API to crash too.
>
> Signed-off-by: Nicolas Dufresne <nicolas.dufresne at collabora.com>
Reviewed-by: Umang Jain <email at uajain.com>
> ---
>   src/gstreamer/gstlibcameraprovider.cpp | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/gstreamer/gstlibcameraprovider.cpp b/src/gstreamer/gstlibcameraprovider.cpp
> index ee44dc73..29da6c32 100644
> --- a/src/gstreamer/gstlibcameraprovider.cpp
> +++ b/src/gstreamer/gstlibcameraprovider.cpp
> @@ -101,7 +101,7 @@ gst_libcamera_device_finalize(GObject *object)
>   
>   	g_free(self->name);
>   
> -	G_OBJECT_GET_CLASS(klass)->finalize(object);
> +	G_OBJECT_CLASS(klass)->finalize(object);
>   }
>   
>   static void
> @@ -218,7 +218,7 @@ gst_libcamera_provider_finalize(GObject *object)
>   
>   	delete self->cm;
>   
> -	return G_OBJECT_GET_CLASS(klass)->finalize(object);
> +	return G_OBJECT_CLASS(klass)->finalize(object);
>   }
>   
>   static void



More information about the libcamera-devel mailing list