summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmedia/jni/mediaeditor/VideoEditorPropertiesMain.cpp22
1 files changed, 18 insertions, 4 deletions
diff --git a/media/jni/mediaeditor/VideoEditorPropertiesMain.cpp b/media/jni/mediaeditor/VideoEditorPropertiesMain.cpp
index 014cd95..73a7c9c 100755
--- a/media/jni/mediaeditor/VideoEditorPropertiesMain.cpp
+++ b/media/jni/mediaeditor/VideoEditorPropertiesMain.cpp
@@ -122,12 +122,26 @@ jobject videoEditProp_getProperties(
&gotten, pEnv, file, NULL, M4OSA_NULL);
result = M4OSA_fileReadOpen(&context, (M4OSA_Void*)pFile, M4OSA_kFileRead);
+
+ if(M4NO_ERROR != result) {
+ // Free the file path.
+ videoEditOsal_free(pFile);
+ pFile = M4OSA_NULL;
+ }
+
videoEditJava_checkAndThrowIllegalArgumentException(&gotten, pEnv,
(M4NO_ERROR != result), "file not found");
- if(M4NO_ERROR != result)
- return(properties);
- result = M4OSA_fileReadClose(context);
- context = M4OSA_NULL;
+
+ // Close the file and free the file context
+ if (context != NULL) {
+ result = M4OSA_fileReadClose(context);
+ context = M4OSA_NULL;
+ }
+
+ // Return if Error
+ if (M4NO_ERROR != result) {
+ return (properties); // NULL
+ }
// Check if the file path is valid.
if (gotten)