summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sub/osd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sub/osd.c b/sub/osd.c
index 8bd32eeb6a..495aa45e3a 100644
--- a/sub/osd.c
+++ b/sub/osd.c
@@ -217,8 +217,10 @@ void osd_set_progbar(struct osd_state *osd, struct osd_progbar_state *s)
osd_obj->progbar_state.value = s->value;
osd_obj->progbar_state.num_stops = s->num_stops;
MP_TARRAY_GROW(osd_obj, osd_obj->progbar_state.stops, s->num_stops);
- memcpy(osd_obj->progbar_state.stops, s->stops,
- sizeof(osd_obj->progbar_state.stops[0]) * s->num_stops);
+ if (s->num_stops) {
+ memcpy(osd_obj->progbar_state.stops, s->stops,
+ sizeof(osd_obj->progbar_state.stops[0]) * s->num_stops);
+ }
osd_obj->osd_changed = true;
osd->want_redraw_notification = true;
pthread_mutex_unlock(&osd->lock);