Fix NULL dereference (RHBZ #1416945)

Signed-off-by: Igor Gnatenko <ignatenko@redhat.com>
This commit is contained in:
Igor Gnatenko 2017-01-27 09:05:07 +01:00
parent 0bfd38e6dc
commit 21a80fb2fc
2 changed files with 51 additions and 1 deletions

View File

@ -0,0 +1,45 @@
# HG changeset patch
# User Sam Lantinga <slouken@libsdl.org>
# Date 1477183983 25200
# Node ID fbf9b0e3589a1f88e2eefbbeb3b632e2da795fde
# Parent 5184186d4366169617b434f5b71c618a7035cde4
Fixed NULL pointer dereference, thanks Ozkan Sezer
diff -r 5184186d4366 -r fbf9b0e3589a src/video/SDL_blit_N.c
--- a/src/video/SDL_blit_N.c Sat Oct 22 11:01:55 2016 -0700
+++ b/src/video/SDL_blit_N.c Sat Oct 22 17:53:03 2016 -0700
@@ -125,11 +125,7 @@
0x0C);
vector unsigned char vswiz;
vector unsigned int srcvec;
-#define RESHIFT(X) (3 - ((X) >> 3))
- Uint32 rmask = RESHIFT(srcfmt->Rshift) << (dstfmt->Rshift);
- Uint32 gmask = RESHIFT(srcfmt->Gshift) << (dstfmt->Gshift);
- Uint32 bmask = RESHIFT(srcfmt->Bshift) << (dstfmt->Bshift);
- Uint32 amask;
+ Uint32 rmask, gmask, bmask, amask;
if (!srcfmt) {
srcfmt = &default_pixel_format;
@@ -138,6 +134,11 @@
dstfmt = &default_pixel_format;
}
+#define RESHIFT(X) (3 - ((X) >> 3))
+ rmask = RESHIFT(srcfmt->Rshift) << (dstfmt->Rshift);
+ gmask = RESHIFT(srcfmt->Gshift) << (dstfmt->Gshift);
+ bmask = RESHIFT(srcfmt->Bshift) << (dstfmt->Bshift);
+
/* Use zero for alpha if either surface doesn't have alpha */
if (dstfmt->Amask) {
amask =
@@ -149,6 +150,7 @@
0xFFFFFFFF);
}
#undef RESHIFT
+
((unsigned int *) (char *) &srcvec)[0] = (rmask | gmask | bmask | amask);
vswiz = vec_add(plus, (vector unsigned char) vec_splat(srcvec, 0));
return (vswiz);

View File

@ -1,6 +1,6 @@
Name: SDL2
Version: 2.0.5
Release: 2%{?dist}
Release: 3%{?dist}
Summary: A cross-platform multimedia library
License: zlib and MIT
@ -11,6 +11,8 @@ Source1: SDL_config.h
Patch0: multilib.patch
# https://hg.libsdl.org/SDL/rev/5184186d4366
Patch1: %{name}-2.0.5-ppc.patch
# https://hg.libsdl.org/SDL/rev/fbf9b0e3589a
Patch2: %{name}-2.0.5-null-deref.patch
BuildRequires: alsa-lib-devel
BuildRequires: audiofile-devel
@ -119,6 +121,9 @@ rm -f %{buildroot}%{_libdir}/*.la
%{_libdir}/lib*.a
%changelog
* Fri Jan 27 2017 Igor Gnatenko <ignatenko@redhat.com> - 2.0.5-3
- Fix NULL dereference (RHBZ #1416945)
* Wed Oct 26 2016 Dan Horák <dan[at]danny.cz> - 2.0.5-2
- fix FTBFS on ppc64/ppc64le