diff --git a/vp9/vp9_dx_iface.c b/vp9/vp9_dx_iface.c
index 6dca8399fd9c32e8a0aacee334ba761a7ae41c84..b5b0340a109ce5617c0790260cb232cb0740a3c4 100644
--- a/vp9/vp9_dx_iface.c
+++ b/vp9/vp9_dx_iface.c
@@ -429,7 +429,8 @@ static vpx_codec_err_t decoder_decode(vpx_codec_alg_priv_t *ctx,
     }
   } else {
     while (data_start < data_end) {
-      res = decode_one_iter(ctx, &data_start, data_end, data_end - data_start,
+      res = decode_one_iter(ctx, &data_start, data_end,
+                            (uint32_t)(data_end - data_start),
                             user_priv, deadline);
       if (res != VPX_CODEC_OK)
         return res;