diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 89a181acf345ac8c07d429693cce97c3af38b1ec..695bd436ee0bf6f233cbd8b4eefd4a70e9b92123 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -3145,12 +3145,12 @@ static int mov_write_subtitle_end_packet(AVFormatContext *s,
                                          int stream_index,
                                          int64_t dts) {
     AVPacket end;
-    short data = 0;
+    uint8_t data[2] = {0};
     int ret;
 
     av_init_packet(&end);
-    end.size = sizeof (short);
-    end.data = (char *)&data;
+    end.size = sizeof(data);
+    end.data = data;
     end.pts = dts;
     end.dts = dts;
     end.duration = 0;