From 1369d5dbebb83e2bb9d5583325ef23fdd7aeb061 Mon Sep 17 00:00:00 2001
From: Adam Sutton <dev@adamsutton.me.uk>
Date: Mon, 7 Apr 2014 20:47:50 +0100
Subject: [PATCH] timeshift: ensure no use of potentially free()'d variable
 (fixes #2028)

---
 src/timeshift.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/timeshift.c b/src/timeshift.c
index 788bee6e..216a4d97 100644
--- a/src/timeshift.c
+++ b/src/timeshift.c
@@ -175,7 +175,6 @@ static void timeshift_input
     /* Buffer to disk */
     if ((ts->state > TS_LIVE) || (!ts->ondemand && (ts->state == TS_LIVE))) {
       sm->sm_time = getmonoclock();
-      streaming_target_deliver2(&ts->wr_queue.sq_st, sm);
       if (sm->sm_type == SMT_PACKET) {
         tvhtrace("timeshift",
                  "ts %d pkt buf - stream %d type %c pts %10"PRId64
@@ -188,6 +187,7 @@ static void timeshift_input
                  pkt->pkt_duration,
                  pktbuf_len(pkt->pkt_payload));
       }
+      streaming_target_deliver2(&ts->wr_queue.sq_st, sm);
     } else
       streaming_msg_free(sm);