Loading services/core/jni/com_android_server_UsbDescriptorParser.cpp +13 −9 Original line number Original line Diff line number Diff line Loading @@ -81,16 +81,20 @@ jstring JNICALL Java_com_android_server_usb_descriptors_UsbDescriptorParser_getD return NULL; return NULL; } } char* c_str = usb_device_get_string(device, stringId, 0 /*timeout*/); // Get Raw UCS2 Bytes jbyte* byteBuffer = NULL; jstring j_str = env->NewStringUTF(c_str); size_t numUSC2Bytes = 0; int retVal = free(c_str); usb_device_get_string_ucs2(device, stringId, 0 /*timeout*/, usb_device_close(device); (void**)&byteBuffer, &numUSC2Bytes); jstring j_str = NULL; if (retVal == 0) { j_str = env->NewString((jchar*)byteBuffer, numUSC2Bytes/2); free(byteBuffer); } return j_str; return j_str; } } } // extern "C" } // extern "C" Loading
services/core/jni/com_android_server_UsbDescriptorParser.cpp +13 −9 Original line number Original line Diff line number Diff line Loading @@ -81,16 +81,20 @@ jstring JNICALL Java_com_android_server_usb_descriptors_UsbDescriptorParser_getD return NULL; return NULL; } } char* c_str = usb_device_get_string(device, stringId, 0 /*timeout*/); // Get Raw UCS2 Bytes jbyte* byteBuffer = NULL; jstring j_str = env->NewStringUTF(c_str); size_t numUSC2Bytes = 0; int retVal = free(c_str); usb_device_get_string_ucs2(device, stringId, 0 /*timeout*/, usb_device_close(device); (void**)&byteBuffer, &numUSC2Bytes); jstring j_str = NULL; if (retVal == 0) { j_str = env->NewString((jchar*)byteBuffer, numUSC2Bytes/2); free(byteBuffer); } return j_str; return j_str; } } } // extern "C" } // extern "C"