summaryrefslogtreecommitdiff
path: root/src/libvdpau/dpb.c
diff options
context:
space:
mode:
authorJulian Scheel <julian@jusst.de>2009-01-16 11:28:04 +0000
committerJulian Scheel <julian@jusst.de>2009-01-16 11:28:04 +0000
commit867f54cd47b81793f8ca0ac1152ac27520f4946a (patch)
tree55184cb9c2d34dc3911386baf3b979f474150067 /src/libvdpau/dpb.c
parentd31f69af029d467470d141e605509ac6b287b2d9 (diff)
downloadxine-lib-867f54cd47b81793f8ca0ac1152ac27520f4946a.tar.gz
xine-lib-867f54cd47b81793f8ca0ac1152ac27520f4946a.tar.bz2
Fix a possible crash in dpb.
Diffstat (limited to 'src/libvdpau/dpb.c')
-rw-r--r--src/libvdpau/dpb.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libvdpau/dpb.c b/src/libvdpau/dpb.c
index cd3c6ef9a..acc3f0865 100644
--- a/src/libvdpau/dpb.c
+++ b/src/libvdpau/dpb.c
@@ -267,7 +267,7 @@ int dpb_add_picture(struct dpb *dpb, struct decoded_picture *pic, uint32_t num_r
dpb->num_ref_frames = num_ref_frames;
dpb->used++;
- if(dpb->used > num_ref_frames) {
+ if(pic != NULL && dpb->used > num_ref_frames) {
do {
if(pic->used_for_reference) {
i++;
@@ -285,7 +285,7 @@ int dpb_add_picture(struct dpb *dpb, struct decoded_picture *pic, uint32_t num_r
}
last_pic = pic;
}
- } while ((pic = pic->next) != NULL);
+ } while (pic != NULL && (pic = pic->next) != NULL);
}
return 0;