jdk/src/macosx/native/com/apple/laf/AquaFileView.m
changeset 18127 34b13e7c5af5
parent 12047 320a714614e9
child 23010 6dadb192ad81
child 23294 f53c3359f3bb
equal deleted inserted replaced
18126:ad2f991576db 18127:34b13e7c5af5
   185 {
   185 {
   186     jstring returnValue = NULL;
   186     jstring returnValue = NULL;
   187 JNF_COCOA_ENTER(env);
   187 JNF_COCOA_ENTER(env);
   188 
   188 
   189     UInt8 pathCString[MAXPATHLEN + 1];
   189     UInt8 pathCString[MAXPATHLEN + 1];
   190     size_t pathSize = sizeof(pathCString);
   190     size_t maxPathLen = sizeof(pathCString) - 1;
   191 
   191 
   192     jbyte *byteArray = (*env)->GetByteArrayElements(env, pathToAlias, NULL);
   192     jbyte *byteArray = (*env)->GetByteArrayElements(env, pathToAlias, NULL);
   193     jsize length = (*env)->GetArrayLength(env, pathToAlias);
   193     jsize length = (*env)->GetArrayLength(env, pathToAlias);
   194 
   194 
   195     if (length > pathSize) {
   195     if (length > maxPathLen) {
   196         length = pathSize;
   196         length = maxPathLen;
   197     }
   197     }
   198     strncpy((char *)pathCString, (char *)byteArray, length);
   198     strncpy((char *)pathCString, (char *)byteArray, length);
   199     // make sure it's null terminated
   199     // make sure it's null terminated
   200     pathCString[length] = '\0';
   200     pathCString[length] = '\0';
   201     (*env)->ReleaseByteArrayElements(env, pathToAlias, byteArray, JNI_ABORT);
   201     (*env)->ReleaseByteArrayElements(env, pathToAlias, byteArray, JNI_ABORT);