diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index acea2e93a641c86d87303e046395e42963ef3f7c..fdfa544ee26f4a01fdf93b622ad13309625195a3 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -277,6 +277,10 @@ static void putstr8(uint8_t **q_ptr, const char *str, int write_len)
         len = strlen(str);
     if (write_len)
         *q++ = len;
+    if (!str) {
+        *q_ptr = q;
+        return;
+    }
     memcpy(q, str, len);
     q     += len;
     *q_ptr = q;