Skip to content

Commit 688b449

Browse files
authored
Merge pull request syslog-ng#5031 from HofiOne/modulesaffile-NULL-deference-5025
affile-dest: affile_dw_set_owner can be called with NULL owner that is not handled at all
2 parents ecc7581 + 327ba05 commit 688b449

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

modules/affile/affile-dest.c

+10-7
Original file line numberDiff line numberDiff line change
@@ -314,17 +314,20 @@ affile_dw_queue(LogPipe *s, LogMessage *lm, const LogPathOptions *path_options)
314314
static void
315315
affile_dw_set_owner(AFFileDestWriter *self, AFFileDestDriver *owner)
316316
{
317-
GlobalConfig *cfg = log_pipe_get_config(&owner->super.super.super);
318-
319317
if (self->owner)
320318
log_pipe_unref(&self->owner->super.super.super);
321-
log_pipe_ref(&owner->super.super.super);
322319
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);
324326

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;
326328
log_pipe_set_config(&self->super, cfg);
327-
if (self->writer)
329+
330+
if (self->writer && self->owner)
328331
{
329332
StatsClusterKeyBuilder *writer_sck_builder = stats_cluster_key_builder_new();
330333
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)
333336
log_pipe_set_config((LogPipe *) self->writer, cfg);
334337
log_writer_set_options(self->writer,
335338
&self->super,
336-
&owner->writer_options,
339+
&self->owner->writer_options,
337340
self->owner->super.super.id,
338341
writer_sck_builder);
339342
}

0 commit comments

Comments
 (0)