parent
							
								
									f1bd2d9193
								
							
						
					
					
						commit
						f2b81d88ba
					
				| @ -0,0 +1,31 @@ | ||||
| #include "org_thoughtcrime_securesms_util_FileUtils.h" | ||||
| 
 | ||||
| #include <sys/types.h> | ||||
| #include <sys/stat.h> | ||||
| #include <unistd.h> | ||||
| 
 | ||||
| jint JNICALL Java_org_thoughtcrime_securesms_util_FileUtils_getFileDescriptorOwner | ||||
|   (JNIEnv *env, jclass clazz, jobject fileDescriptor) | ||||
| { | ||||
|   jclass fdClass = env->GetObjectClass(fileDescriptor); | ||||
| 
 | ||||
|   if (fdClass == NULL) { | ||||
|     return -1; | ||||
|   } | ||||
| 
 | ||||
|   jfieldID fdFieldId = env->GetFieldID(fdClass, "descriptor", "I"); | ||||
| 
 | ||||
|   if (fdFieldId == NULL) { | ||||
|     return -1; | ||||
|   } | ||||
| 
 | ||||
|   int fd = env->GetIntField(fileDescriptor, fdFieldId); | ||||
| 
 | ||||
|   struct stat stat_struct; | ||||
| 
 | ||||
|   if (fstat(fd, &stat_struct) != 0) { | ||||
|     return -1; | ||||
|   } | ||||
| 
 | ||||
|   return stat_struct.st_uid; | ||||
| } | ||||
| @ -0,0 +1,21 @@ | ||||
| /* DO NOT EDIT THIS FILE - it is machine generated */ | ||||
| #include <jni.h> | ||||
| /* Header for class org_thoughtcrime_securesms_util_FileUtils */ | ||||
| 
 | ||||
| #ifndef _Included_org_thoughtcrime_securesms_util_FileUtils | ||||
| #define _Included_org_thoughtcrime_securesms_util_FileUtils | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
| /*
 | ||||
|  * Class:     org_thoughtcrime_securesms_util_FileUtils | ||||
|  * Method:    getFileDescriptorOwner | ||||
|  * Signature: (Ljava/io/FileDescriptor;)I | ||||
|  */ | ||||
| JNIEXPORT jint JNICALL Java_org_thoughtcrime_securesms_util_FileUtils_getFileDescriptorOwner | ||||
|   (JNIEnv *, jclass, jobject); | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
| #endif | ||||
											
												Binary file not shown.
											
										
									
								
											
												Binary file not shown.
											
										
									
								
											
												Binary file not shown.
											
										
									
								| @ -0,0 +1,13 @@ | ||||
| package org.thoughtcrime.securesms.util; | ||||
| 
 | ||||
| import java.io.FileDescriptor; | ||||
| 
 | ||||
| public class FileUtils { | ||||
| 
 | ||||
|   static { | ||||
|     System.loadLibrary("native-utils"); | ||||
|   } | ||||
| 
 | ||||
|   public static native int getFileDescriptorOwner(FileDescriptor fileDescriptor); | ||||
| 
 | ||||
| } | ||||
					Loading…
					
					
				
		Reference in New Issue