summaryrefslogtreecommitdiffstats
path: root/opengl/tools/glgen/src
diff options
context:
space:
mode:
authorJack Palevich <jackpal@google.com>2009-10-21 11:02:44 -0700
committerJack Palevich <jackpal@google.com>2009-10-21 11:02:44 -0700
commitc620a52b69a5f29563e06497e30877809f5d67a5 (patch)
treeb0771555e1063ed4653cdfc454a209998a236bb0 /opengl/tools/glgen/src
parentd443ba4534b88fe6dfd3bd8f1dd1dc8451ed6734 (diff)
downloadframeworks_base-c620a52b69a5f29563e06497e30877809f5d67a5.zip
frameworks_base-c620a52b69a5f29563e06497e30877809f5d67a5.tar.gz
frameworks_base-c620a52b69a5f29563e06497e30877809f5d67a5.tar.bz2
Add size checks for glBufferData and glBufferSubData
Without the size checks it's possible for calls to glBufferData and glBufferSubData to read off the end of the Buffer object's data, which can cause page faults. Fix end-of-line characters for the "spec" files. (That's why every line of these files is changed.) Enhance our code emitter to properly handle bounds checks for possibly-null pointers.
Diffstat (limited to 'opengl/tools/glgen/src')
-rw-r--r--opengl/tools/glgen/src/JniCodeEmitter.java10
1 files changed, 5 insertions, 5 deletions
diff --git a/opengl/tools/glgen/src/JniCodeEmitter.java b/opengl/tools/glgen/src/JniCodeEmitter.java
index 7340357..2cdb244 100644
--- a/opengl/tools/glgen/src/JniCodeEmitter.java
+++ b/opengl/tools/glgen/src/JniCodeEmitter.java
@@ -893,7 +893,7 @@ public class JniCodeEmitter {
") getDirectBufferPointer(_env, " +
cname + "_buf);");
String iii = " ";
- out.println(iii + indent + "if ( ! " + cname + " ) {");
+ out.println(iii + indent + "if ( ! " + cname + " ) {");
out.println(iii + iii + indent + "return;");
out.println(iii + indent + "}");
} else {
@@ -907,13 +907,13 @@ public class JniCodeEmitter {
");");
}
+ emitNativeBoundsChecks(cfunc, cname, out, true,
+ emitExceptionCheck,
+ offset, remaining, nullAllowed ? " " : " ");
+
if (nullAllowed) {
out.println(indent + "}");
}
-
- emitNativeBoundsChecks(cfunc, cname, out, true,
- emitExceptionCheck,
- offset, remaining, " ");
}
}
}