summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Farago <sensej007@email.cz>2020-02-14 15:40:14 +0100
committerTomas Farago <sensej007@email.cz>2020-02-14 15:40:14 +0100
commit1692c466f49210d570f553b5c4f43cac05ad3f2e (patch)
treed9efb23e18396b57f90b48f4ad608f61436ed359
parent84e4e453745bb1d7131d51ae1541c37d1cb1de2a (diff)
downloadufo-filters-1692c466f49210d570f553b5c4f43cac05ad3f2e.tar.gz
ufo-filters-1692c466f49210d570f553b5c4f43cac05ad3f2e.tar.bz2
ufo-filters-1692c466f49210d570f553b5c4f43cac05ad3f2e.tar.xz
ufo-filters-1692c466f49210d570f553b5c4f43cac05ad3f2e.zip
Do not release NULL pointers
-rw-r--r--src/ufo-general-backproject-task.c20
-rw-r--r--src/ufo-gradient-task.c5
-rw-r--r--src/ufo-interpolate-stream-task.c6
-rw-r--r--src/ufo-interpolate-task.c6
-rw-r--r--src/ufo-measure-task.c6
-rw-r--r--src/ufo-retrieve-phase-task.c6
-rw-r--r--src/ufo-segment-task.c5
7 files changed, 41 insertions, 13 deletions
diff --git a/src/ufo-general-backproject-task.c b/src/ufo-general-backproject-task.c
index 0190a09..a801bce 100644
--- a/src/ufo-general-backproject-task.c
+++ b/src/ufo-general-backproject-task.c
@@ -1943,14 +1943,18 @@ ufo_general_backproject_task_finalize (GObject *object)
{
guint i;
UfoGeneralBackprojectTaskPrivate *priv = UFO_GENERAL_BACKPROJECT_TASK_GET_PRIVATE (object);
- g_object_unref (priv->resources);
- priv->resources = NULL;
+ if (priv->resources) {
+ g_object_unref (priv->resources);
+ priv->resources = NULL;
+ }
ufo_scarray_free (priv->region);
ufo_scarray_free (priv->region_x);
ufo_scarray_free (priv->region_y);
ufo_ctgeometry_free (priv->geometry);
- g_hash_table_destroy (priv->node_props_table);
+ if (priv->node_props_table) {
+ g_hash_table_destroy (priv->node_props_table);
+ }
if (priv->projections) {
for (i = 0; i < priv->burst; i++) {
@@ -2274,6 +2278,16 @@ static void
ufo_general_backproject_task_init(UfoGeneralBackprojectTask *self)
{
self->priv = UFO_GENERAL_BACKPROJECT_TASK_GET_PRIVATE(self);
+ self->priv->resources = NULL;
+ self->priv->node_props_table = NULL;
+ self->priv->projections = NULL;
+ self->priv->chunks = NULL;
+ self->priv->cl_regions = NULL;
+ self->priv->vector_arguments = NULL;
+ self->priv->context = NULL;
+ self->priv->kernel = NULL;
+ self->priv->rest_kernel = NULL;
+ self->priv->sampler = NULL;
/* Scalars */
self->priv->burst = 0;
diff --git a/src/ufo-gradient-task.c b/src/ufo-gradient-task.c
index 4227fd7..587c893 100644
--- a/src/ufo-gradient-task.c
+++ b/src/ufo-gradient-task.c
@@ -193,7 +193,10 @@ static void
ufo_gradient_task_finalize (GObject *object)
{
UfoGradientTaskPrivate *priv = UFO_GRADIENT_TASK_GET_PRIVATE (object);
- UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->kernel));
+ if (priv->kernel) {
+ UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->kernel));
+ priv->kernel = NULL;
+ }
G_OBJECT_CLASS (ufo_gradient_task_parent_class)->finalize (object);
}
diff --git a/src/ufo-interpolate-stream-task.c b/src/ufo-interpolate-stream-task.c
index a3c854d..eefd4f7 100644
--- a/src/ufo-interpolate-stream-task.c
+++ b/src/ufo-interpolate-stream-task.c
@@ -232,8 +232,10 @@ ufo_interpolate_stream_task_finalize (GObject *object)
priv = UFO_INTERPOLATE_STREAM_TASK_GET_PRIVATE (object);
g_ptr_array_free (priv->copies, TRUE);
- UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->kernel));
- priv->kernel = NULL;
+ if (priv->kernel) {
+ UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->kernel));
+ priv->kernel = NULL;
+ }
G_OBJECT_CLASS (ufo_interpolate_stream_task_parent_class)->finalize (object);
}
diff --git a/src/ufo-interpolate-task.c b/src/ufo-interpolate-task.c
index 8e07f3e..2857b43 100644
--- a/src/ufo-interpolate-task.c
+++ b/src/ufo-interpolate-task.c
@@ -224,8 +224,10 @@ ufo_interpolate_task_finalize (GObject *object)
priv->y = NULL;
}
- UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->kernel));
- priv->kernel = NULL;
+ if (priv->kernel) {
+ UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->kernel));
+ priv->kernel = NULL;
+ }
G_OBJECT_CLASS (ufo_interpolate_task_parent_class)->finalize (object);
}
diff --git a/src/ufo-measure-task.c b/src/ufo-measure-task.c
index aad9996..a5f7712 100644
--- a/src/ufo-measure-task.c
+++ b/src/ufo-measure-task.c
@@ -580,8 +580,10 @@ ufo_measure_task_finalize (GObject *object)
gint i;
for (i = 0; i < M_LAST; i++) {
- UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->kernels[i]));
- priv->kernels[i] = NULL;
+ if (priv->kernels[i]) {
+ UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->kernels[i]));
+ priv->kernels[i] = NULL;
+ }
if (priv->postproc_kernels[i]) {
UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->postproc_kernels[i]));
priv->postproc_kernels[i] = NULL;
diff --git a/src/ufo-retrieve-phase-task.c b/src/ufo-retrieve-phase-task.c
index 8bb504b..01e690f 100644
--- a/src/ufo-retrieve-phase-task.c
+++ b/src/ufo-retrieve-phase-task.c
@@ -319,8 +319,10 @@ ufo_retrieve_phase_task_finalize (GObject *object)
if (priv->kernels) {
for (int i = 0; i < N_METHODS; i++) {
- UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->kernels[i]));
- priv->kernels[i] = NULL;
+ if (priv->kernels[i]) {
+ UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->kernels[i]));
+ priv->kernels[i] = NULL;
+ }
}
}
diff --git a/src/ufo-segment-task.c b/src/ufo-segment-task.c
index acd7b28..a110cde 100644
--- a/src/ufo-segment-task.c
+++ b/src/ufo-segment-task.c
@@ -406,7 +406,10 @@ ufo_segment_task_finalize (GObject *object)
if (priv->threshold != NULL)
UFO_RESOURCES_CHECK_CLERR (clReleaseKernel (priv->threshold));
- UFO_RESOURCES_CHECK_CLERR (clReleaseContext (priv->context));
+ if (priv->context) {
+ UFO_RESOURCES_CHECK_CLERR (clReleaseContext (priv->context));
+ priv->context = NULL;
+ }
G_OBJECT_CLASS (ufo_segment_task_parent_class)->finalize (object);
}