OSDN Git Service

Pre-test native window pointer for validity
authorPaul Drews <paul.drews@intel.com>
Wed, 18 Jan 2012 19:01:49 +0000 (11:01 -0800)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Fri, 5 May 2017 03:37:55 +0000 (11:37 +0800)
commit9fbdac240d60ffc3a604f0275e4575f2a497f4cf
treeeda247a7701d47635ea1478e071b75ac701204b3
parente88b84b4107ee34b082e0f2b6826ae6ab78b02c9
Pre-test native window pointer for validity

This fixes a segfault in the oglconform tests when running
the test:

  adb shell /data/app/oglconform -v 4 -minFmt -es -test egl-basic negative.drawables.winSurfBadWin

According the the egl specification this should return
EGL_BAD_NATIVE_WINDOW.  The segfault was resulting from the
fact that the window handle is a (cast to opaque) pointer,
and there are not straightforward ways of pre-testing a
pointer for validity.  The fix implemented here is:

  () Take advantage of the msync() system-call logic to test
     pre-test basic pointer validity
  () Once confirmed that we can reference through the
     pointer, look for the "magic" value dropped in by the
     implementation to mark this type at runtime.

Change-Id: Id7d21c822c8a416e45caba25c63d7076d1e547a5
Original-Change-Id: I3c8df8ef5ece5c0fa71c47417766b5453c355f8b
Signed-off-by: Russell Webb <russell.webb@intel.com>
Signed-off-by: Paul Drews <paul.drews@intel.com>
opengl/libs/EGL/eglApi.cpp