summaryrefslogtreecommitdiffstats
path: root/opengl/libs/EGL/Loader.cpp
diff options
context:
space:
mode:
authorJeff Boody <jboody@quicinc.com>2011-01-27 18:12:09 -0700
committerMathias Agopian <mathias@google.com>2011-05-11 18:05:49 -0700
commit1e740c776dd39b1333112b17fad37ba6cc00cf1b (patch)
tree4c9339fe6ffee0f4f6ab6d76c9b99f557f82e9c5 /opengl/libs/EGL/Loader.cpp
parentf605a5aae5856d0c6114f36659ff9e8c5f3b5c19 (diff)
downloadframeworks_base-1e740c776dd39b1333112b17fad37ba6cc00cf1b.zip
frameworks_base-1e740c776dd39b1333112b17fad37ba6cc00cf1b.tar.gz
frameworks_base-1e740c776dd39b1333112b17fad37ba6cc00cf1b.tar.bz2
add OES postfix without truncating function
Change-Id: Id47304cf38914190cec58d703801f456ab916f63
Diffstat (limited to 'opengl/libs/EGL/Loader.cpp')
-rw-r--r--opengl/libs/EGL/Loader.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/opengl/libs/EGL/Loader.cpp b/opengl/libs/EGL/Loader.cpp
index 2502f15..75dec4a 100644
--- a/opengl/libs/EGL/Loader.cpp
+++ b/opengl/libs/EGL/Loader.cpp
@@ -200,11 +200,13 @@ void Loader::init_api(void* dso,
}
if (f == NULL) {
// Try with the OES postfix
- ssize_t index = ssize_t(strlen(name)) - 3;
+ ssize_t size = ssize_t(strlen(name));
+ ssize_t index = size - 3;
if ((index>0 && (index<252)) && (strcmp(name+index, "OES"))) {
- strncpy(scrap, name, index);
- scrap[index] = 0;
- strcat(scrap, "OES");
+ strncpy(scrap, name, sizeof(scrap) - 1);
+ scrap[size] = 0;
+ strncat(scrap, "OES", sizeof(scrap) - 1);
+ scrap[size + 3] = 0;
f = (__eglMustCastToProperFunctionPointerType)dlsym(dso, scrap);
//LOGD_IF(f, "found <%s> instead", scrap);
}