Package org.lwjgl
Class BufferChecks
- java.lang.Object
-
- org.lwjgl.BufferChecks
-
public class BufferChecks extends java.lang.Object
A class to check buffer boundaries in general. If there is unsufficient space in the buffer when the call is made then a buffer overflow would otherwise occur and cause unexpected behaviour, a crash, or worse, a security risk. Internal class, don't use.
- Version:
- $Revision$ $Id$
- Author:
- cix_foo
, elias_naur
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
checkArray(long[] array, int size)
static void
checkArray(java.lang.Object[] array)
static void
checkArray(java.lang.Object[] array, int size)
static int
checkBuffer(java.nio.Buffer buffer, int size)
Detects the buffer type and performs the corresponding check and also returns the buffer position in bytes.static void
checkBuffer(java.nio.ByteBuffer buf, int size)
static void
checkBuffer(java.nio.DoubleBuffer buf, int size)
static void
checkBuffer(java.nio.FloatBuffer buf, int size)
static void
checkBuffer(java.nio.IntBuffer buf, int size)
static void
checkBuffer(java.nio.LongBuffer buf, int size)
static void
checkBuffer(java.nio.ShortBuffer buf, int size)
static void
checkBuffer(PointerBuffer buf, int size)
static void
checkBufferSize(java.nio.Buffer buf, int size)
Helper method to ensure a buffer is big enough to receive data from a glGet* operation.static void
checkDirect(java.nio.ByteBuffer buf)
Helper methods to ensure a buffer is direct (and, implicitly, non-null).static void
checkDirect(java.nio.DoubleBuffer buf)
static void
checkDirect(java.nio.FloatBuffer buf)
static void
checkDirect(java.nio.IntBuffer buf)
static void
checkDirect(java.nio.LongBuffer buf)
static void
checkDirect(java.nio.ShortBuffer buf)
static void
checkDirect(PointerBuffer buf)
static void
checkFunctionAddress(long pointer)
Helper methods to ensure a function pointer is not-null (0)static void
checkNotNull(java.lang.Object o)
static void
checkNullTerminated(java.nio.ByteBuffer buf)
Helper methods to ensure a ByteBuffer is null-terminatedstatic void
checkNullTerminated(java.nio.ByteBuffer buf, int count)
static void
checkNullTerminated(java.nio.IntBuffer buf)
Helper method to ensure an IntBuffer is null-terminatedstatic void
checkNullTerminated(java.nio.LongBuffer buf)
Helper method to ensure a LongBuffer is null-terminatedstatic void
checkNullTerminated(PointerBuffer buf)
Helper method to ensure a PointerBuffer is null-terminated
-
-
-
Method Detail
-
checkFunctionAddress
public static void checkFunctionAddress(long pointer)
Helper methods to ensure a function pointer is not-null (0)
-
checkNullTerminated
public static void checkNullTerminated(java.nio.ByteBuffer buf)
Helper methods to ensure a ByteBuffer is null-terminated
-
checkNullTerminated
public static void checkNullTerminated(java.nio.ByteBuffer buf, int count)
-
checkNullTerminated
public static void checkNullTerminated(java.nio.IntBuffer buf)
Helper method to ensure an IntBuffer is null-terminated
-
checkNullTerminated
public static void checkNullTerminated(java.nio.LongBuffer buf)
Helper method to ensure a LongBuffer is null-terminated
-
checkNullTerminated
public static void checkNullTerminated(PointerBuffer buf)
Helper method to ensure a PointerBuffer is null-terminated
-
checkNotNull
public static void checkNotNull(java.lang.Object o)
-
checkDirect
public static void checkDirect(java.nio.ByteBuffer buf)
Helper methods to ensure a buffer is direct (and, implicitly, non-null).
-
checkDirect
public static void checkDirect(java.nio.ShortBuffer buf)
-
checkDirect
public static void checkDirect(java.nio.IntBuffer buf)
-
checkDirect
public static void checkDirect(java.nio.LongBuffer buf)
-
checkDirect
public static void checkDirect(java.nio.FloatBuffer buf)
-
checkDirect
public static void checkDirect(java.nio.DoubleBuffer buf)
-
checkDirect
public static void checkDirect(PointerBuffer buf)
-
checkArray
public static void checkArray(java.lang.Object[] array)
-
checkBufferSize
public static void checkBufferSize(java.nio.Buffer buf, int size)
Helper method to ensure a buffer is big enough to receive data from a glGet* operation.- Parameters:
buf
- The buffer to checksize
- The minimum buffer size- Throws:
java.lang.IllegalArgumentException
-
checkBuffer
public static int checkBuffer(java.nio.Buffer buffer, int size)
Detects the buffer type and performs the corresponding check and also returns the buffer position in bytes.- Parameters:
buffer
- the buffer to checksize
- the size to check- Returns:
- the buffer position in bytes
-
checkBuffer
public static void checkBuffer(java.nio.ByteBuffer buf, int size)
-
checkBuffer
public static void checkBuffer(java.nio.ShortBuffer buf, int size)
-
checkBuffer
public static void checkBuffer(java.nio.IntBuffer buf, int size)
-
checkBuffer
public static void checkBuffer(java.nio.LongBuffer buf, int size)
-
checkBuffer
public static void checkBuffer(java.nio.FloatBuffer buf, int size)
-
checkBuffer
public static void checkBuffer(java.nio.DoubleBuffer buf, int size)
-
checkBuffer
public static void checkBuffer(PointerBuffer buf, int size)
-
checkArray
public static void checkArray(java.lang.Object[] array, int size)
-
checkArray
public static void checkArray(long[] array, int size)
-
-