mirror of
https://github.com/nyanmisaka/mpp.git
synced 2026-01-24 04:50:39 +01:00
fix[h264d]: Fix segment fault problem
Field buffer may be reset when encountering error at parsing.
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x50
Cause: null pointer dereference
r0 00000001 r1 00000000 r2 aefe63a7 r3 00000003
r4 00000001 r5 00000001 r6 00000000 r7 0000001c
r8 0000000f r9 00000000 r10 0000001a r11 ee1b2650
ip ee1b1fb8 sp ee1b2648 lr f5db5c5b pc f0547bfc
backtrace:
#00 pc 000c5bfc /vendor/lib/libmpp.so (mpp_frame_set_errinfo+44)
#01 pc 0010aa54 /vendor/lib/libmpp.so (get_field_dpb_combine_flag+796)
#02 pc 00113990 /vendor/lib/libmpp.so (alloc_decpic+1456)
#03 pc 00112da8 /vendor/lib/libmpp.so (init_picture+340)
#04 pc 000fc128 /vendor/lib/libmpp.so (parse_loop+1092)
#05 pc 000f7d10 /vendor/lib/libmpp.so (h264d_parse+212)
#06 pc 0009b7f8 /vendor/lib/libmpp.so (mpp_parser_parse+164)
Change-Id: Iff4b628b7f807d6da448ea8553c5af613e63d328
Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
This commit is contained in:
parent
f0ff240b87
commit
0b1c78701f
1 changed files with 1 additions and 1 deletions
|
|
@ -1855,7 +1855,7 @@ RK_U32 get_field_dpb_combine_flag(H264_FrameStore_t *p_last, H264_StorePic_t *p)
|
|||
struct h264_store_pic_t *pic = NULL;
|
||||
|
||||
pic = p_last->structure == TOP_FIELD ? p_last->top_field : p_last->bottom_field;
|
||||
if (pic && !pic->combine_flag)
|
||||
if (pic && pic->mem_mark->mframe && !pic->combine_flag)
|
||||
mpp_frame_set_errinfo(pic->mem_mark->mframe, 1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue