Fix: segfault in buffer_reg_channel_destroy()
[lttng-tools.git] / src / bin / lttng-sessiond / buffer-registry.c
index 765294fa4ca33f11fe9b4f331a3c46e4e3bb0ac3..5751b8d587f8a1a12a64a1b2fc207aaba22b0534 100644 (file)
@@ -506,12 +506,14 @@ void buffer_reg_channel_destroy(struct buffer_reg_channel *regp,
                        buffer_reg_stream_destroy(sreg, domain);
                }
 
-               ret = ust_ctl_release_object(-1, regp->obj.ust);
-               if (ret < 0 && ret != -EPIPE && ret != -LTTNG_UST_ERR_EXITING) {
-                       ERR("Buffer reg channel release obj handle %d failed with ret %d",
-                                       regp->obj.ust->handle, ret);
+               if (regp->obj.ust) {
+                       ret = ust_ctl_release_object(-1, regp->obj.ust);
+                       if (ret < 0 && ret != -EPIPE && ret != -LTTNG_UST_ERR_EXITING) {
+                               ERR("Buffer reg channel release obj handle %d failed with ret %d",
+                                               regp->obj.ust->handle, ret);
+                       }
+                       free(regp->obj.ust);
                }
-               free(regp->obj.ust);
                lttng_fd_put(LTTNG_FD_APPS, 1);
                break;
        }
This page took 0.022763 seconds and 4 git commands to generate.