@@ -314,17 +314,20 @@ affile_dw_queue(LogPipe *s, LogMessage *lm, const LogPathOptions *path_options)
314
314
static void
315
315
affile_dw_set_owner (AFFileDestWriter * self , AFFileDestDriver * owner )
316
316
{
317
- GlobalConfig * cfg = log_pipe_get_config (& owner -> super .super .super );
318
-
319
317
if (self -> owner )
320
318
log_pipe_unref (& self -> owner -> super .super .super );
321
- log_pipe_ref (& owner -> super .super .super );
322
319
self -> owner = owner ;
323
- self -> super .expr_node = owner -> super .super .super .expr_node ;
320
+ if (self -> owner )
321
+ log_pipe_ref (& self -> owner -> super .super .super );
322
+
323
+ self -> super .expr_node = self -> owner ? self -> owner -> super .super .super .expr_node : NULL ;
324
+ if (self -> owner )
325
+ log_pipe_set_options (& self -> super , & self -> owner -> super .super .super .options );
324
326
325
- log_pipe_set_options ( & self -> super , & owner -> super .super .super . options ) ;
327
+ GlobalConfig * cfg = self -> owner ? log_pipe_get_config ( & self -> owner -> super .super .super ) : NULL ;
326
328
log_pipe_set_config (& self -> super , cfg );
327
- if (self -> writer )
329
+
330
+ if (self -> writer && self -> owner )
328
331
{
329
332
StatsClusterKeyBuilder * writer_sck_builder = stats_cluster_key_builder_new ();
330
333
stats_cluster_key_builder_add_label (writer_sck_builder , stats_cluster_label ("driver" , "file" ));
@@ -333,7 +336,7 @@ affile_dw_set_owner(AFFileDestWriter *self, AFFileDestDriver *owner)
333
336
log_pipe_set_config ((LogPipe * ) self -> writer , cfg );
334
337
log_writer_set_options (self -> writer ,
335
338
& self -> super ,
336
- & owner -> writer_options ,
339
+ & self -> owner -> writer_options ,
337
340
self -> owner -> super .super .id ,
338
341
writer_sck_builder );
339
342
}
0 commit comments