diff --git a/.gitignore b/.gitignore index 9d1969c..a196b0a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libva-2.4.1.tar.gz +SOURCES/libva-2.5.0.tar.gz diff --git a/.libva.metadata b/.libva.metadata index d5ab8e3..123f3e7 100644 --- a/.libva.metadata +++ b/.libva.metadata @@ -1 +1 @@ -38aa8e91258ecfb6b5ef9f4cc5619813197bfe37 SOURCES/libva-2.4.1.tar.gz +fd8568aaa9dd6e7f9721ac335fc87ad3c6f0d34b SOURCES/libva-2.5.0.tar.gz diff --git a/SOURCES/libva-2.5.0-covscan.patch b/SOURCES/libva-2.5.0-covscan.patch new file mode 100644 index 0000000..0313293 --- /dev/null +++ b/SOURCES/libva-2.5.0-covscan.patch @@ -0,0 +1,86 @@ +diff --git a/va/glx/va_glx_impl.c b/va/glx/va_glx_impl.c +index 23ea270..fa44da2 100644 +--- a/va/glx/va_glx_impl.c ++++ b/va/glx/va_glx_impl.c +@@ -939,7 +939,7 @@ static VAStatus + vaDestroySurfaceGLX_impl_libva(VADriverContextP ctx, void *gl_surface) + { + VASurfaceGLXP pSurfaceGLX; +- struct OpenGLContextState old_cs, *new_cs; ++ struct OpenGLContextState old_cs = {0}, *new_cs; + + INIT_SURFACE(pSurfaceGLX, gl_surface); + +@@ -1072,7 +1072,7 @@ vaCopySurfaceGLX_impl_libva( + { + VASurfaceGLXP pSurfaceGLX; + VAStatus status; +- struct OpenGLContextState old_cs; ++ struct OpenGLContextState old_cs = {0}; + + INIT_SURFACE(pSurfaceGLX, gl_surface); + +diff --git a/va/va_trace.c b/va/va_trace.c +index d34fc40..7cd5ae5 100755 +--- a/va/va_trace.c ++++ b/va/va_trace.c +@@ -996,7 +996,7 @@ static void va_TraceSurface(VADisplay dpy, VAContextID context) + vaUnlockSurface(dpy, trace_ctx->trace_rendertarget); + return; + } +- va_TraceMsg(trace_ctx, "\tbuffer location = 0x%08x\n", buffer); ++ va_TraceMsg(trace_ctx, "\tbuffer location = 0x%p\n", buffer); + va_TraceMsg(trace_ctx, NULL); + + Y_data = (unsigned char*)buffer; +@@ -1668,7 +1668,7 @@ void va_TraceMapBuffer ( + va_TraceMsg(trace_ctx, "\t bit_offset = %u\n", buf_list->bit_offset); + va_TraceMsg(trace_ctx, "\t status = 0x%08x\n", buf_list->status); + va_TraceMsg(trace_ctx, "\t reserved = 0x%08x\n", buf_list->reserved); +- va_TraceMsg(trace_ctx, "\t buf = 0x%08x\n", buf_list->buf); ++ va_TraceMsg(trace_ctx, "\t buf = 0x%p\n", buf_list->buf); + + if (trace_ctx->trace_fp_codedbuf) { + va_TraceMsg(trace_ctx, "\tDump the content to file\n"); +@@ -1780,10 +1780,10 @@ static void va_TraceVAIQMatrixBufferMPEG2( + va_TraceMsg(trace_ctx,"\tload_non_intra_quantiser_matrix = %d\n", p->load_non_intra_quantiser_matrix); + va_TraceMsg(trace_ctx,"\tload_chroma_intra_quantiser_matrix = %d\n", p->load_chroma_intra_quantiser_matrix); + va_TraceMsg(trace_ctx,"\tload_chroma_non_intra_quantiser_matrix = %d\n", p->load_chroma_non_intra_quantiser_matrix); +- va_TraceMsg(trace_ctx,"\tintra_quantiser_matrix = %d\n", p->intra_quantiser_matrix); +- va_TraceMsg(trace_ctx,"\tnon_intra_quantiser_matrix = %d\n", p->non_intra_quantiser_matrix); +- va_TraceMsg(trace_ctx,"\tchroma_intra_quantiser_matrix = %d\n", p->chroma_intra_quantiser_matrix); +- va_TraceMsg(trace_ctx,"\tchroma_non_intra_quantiser_matrix = %d\n", p->chroma_non_intra_quantiser_matrix); ++ va_TraceMsg(trace_ctx,"\tintra_quantiser_matrix = %p\n", p->intra_quantiser_matrix); ++ va_TraceMsg(trace_ctx,"\tnon_intra_quantiser_matrix = %p\n", p->non_intra_quantiser_matrix); ++ va_TraceMsg(trace_ctx,"\tchroma_intra_quantiser_matrix = %p\n", p->chroma_intra_quantiser_matrix); ++ va_TraceMsg(trace_ctx,"\tchroma_non_intra_quantiser_matrix = %p\n", p->chroma_non_intra_quantiser_matrix); + va_TraceMsg(trace_ctx, NULL); + + return; +@@ -2054,7 +2054,7 @@ static void va_TraceVAEncSequenceParameterBufferMPEG2( + + va_TraceMsg(trace_ctx, "\tintra_period = %d\n", p->intra_period); + va_TraceMsg(trace_ctx, "\tbits_per_second = %d\n", p->bits_per_second); +- va_TraceMsg(trace_ctx, "\tframe_rate = %d\n", p->frame_rate); ++ va_TraceMsg(trace_ctx, "\tframe_rate = %f\n", p->frame_rate); + va_TraceMsg(trace_ctx, "\tvbv_buffer_size = %d\n", p->vbv_buffer_size); + va_TraceMsg(trace_ctx, NULL); + +@@ -5278,7 +5278,7 @@ void va_TracePutSurface ( + TRACE_FUNCNAME(idx); + + va_TraceMsg(trace_ctx, "\tsurface = 0x%08x\n", surface); +- va_TraceMsg(trace_ctx, "\tdraw = 0x%08x\n", draw); ++ va_TraceMsg(trace_ctx, "\tdraw = 0x%p\n", draw); + va_TraceMsg(trace_ctx, "\tsrcx = %d\n", srcx); + va_TraceMsg(trace_ctx, "\tsrcy = %d\n", srcy); + va_TraceMsg(trace_ctx, "\tsrcw = %d\n", srcw); +@@ -5287,7 +5287,7 @@ void va_TracePutSurface ( + va_TraceMsg(trace_ctx, "\tdesty = %d\n", desty); + va_TraceMsg(trace_ctx, "\tdestw = %d\n", destw); + va_TraceMsg(trace_ctx, "\tdesth = %d\n", desth); +- va_TraceMsg(trace_ctx, "\tcliprects = 0x%08x\n", cliprects); ++ va_TraceMsg(trace_ctx, "\tcliprects = 0x%p\n", cliprects); + va_TraceMsg(trace_ctx, "\tnumber_cliprects = %d\n", number_cliprects); + va_TraceMsg(trace_ctx, "\tflags = 0x%08x\n", flags); + va_TraceMsg(trace_ctx, NULL); diff --git a/SPECS/libva.spec b/SPECS/libva.spec index 95af738..53f6c77 100644 --- a/SPECS/libva.spec +++ b/SPECS/libva.spec @@ -1,10 +1,11 @@ Name: libva -Version: 2.4.1 -Release: 1%{?dist} +Version: 2.5.0 +Release: 2%{?dist} Summary: Video Acceleration (VA) API for Linux License: MIT URL: https://01.org/linuxmedia Source0: https://github.com/01org/libva/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Patch0: libva-2.5.0-covscan.patch BuildRequires: libtool @@ -12,14 +13,14 @@ BuildRequires: libudev-devel BuildRequires: libXext-devel BuildRequires: libXfixes-devel BuildRequires: libdrm-devel -BuildRequires: libpciaccess-devel +BuildRequires: libpciaccess-devel BuildRequires: mesa-libEGL-devel BuildRequires: mesa-libGL-devel BuildRequires: mesa-libGLES-devel %{!?_without_wayland: -BuildRequires: wayland-devel -BuildRequires: pkgconfig(wayland-client) >= 1 -BuildRequires: pkgconfig(wayland-scanner) >= 1 +BuildRequires: wayland-devel +BuildRequires: pkgconfig(wayland-client) >= 1 +BuildRequires: pkgconfig(wayland-scanner) >= 1 } # owns the %%{_libdir}/dri directory Requires: mesa-dri-filesystem @@ -50,7 +51,7 @@ autoreconf -vif sed -i.rpath 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i.rpath 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool -%make_build +%make_build V=1 %install %make_install INSTALL="install -p" @@ -70,6 +71,14 @@ find %{buildroot} -regex ".*\.la$" | xargs rm -f -- %{_libdir}/pkgconfig/libva*.pc %changelog +* Sat Nov 30 2019 Jiri Kucera - 2.5.0-2 +- Fix issues found by static analysis + Related: #1728792 + +* Tue Nov 19 2019 Jiri Kucera - 2.5.0-1 +- Update to 2.5.0 + Resolves: #1728792 + * Fri Jun 07 2019 Jiri Kucera - 2.4.1-1 - Update to 2.4.1 Resolves: #1493944