]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: event_set_source() - Avoid p_strdup() if source filename doesn't change
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 5 Sep 2019 12:42:34 +0000 (15:42 +0300)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 5 Sep 2019 13:29:28 +0000 (13:29 +0000)
src/lib/lib-event.c

index 686ca7a23a4753350e8d8f3cf18692d878a34a45..cce6a7f25e7737ef7d2f248736a0765854524cd2 100644 (file)
@@ -515,8 +515,10 @@ struct event *
 event_set_source(struct event *event, const char *filename,
                 unsigned int linenum, bool literal_fname)
 {
-       event->source_filename = literal_fname ? filename :
-               p_strdup(event->pool, filename);
+       if (strcmp(event->source_filename, filename) != 0) {
+               event->source_filename = literal_fname ? filename :
+                       p_strdup(event->pool, filename);
+       }
        event->source_linenum = linenum;
        return event;
 }