jpeg_create_compress(&cinfo);
- realPATH = realpath(pFileName, NULL);
- if (realPATH == NULL) {
- mm_util_error("realpath failed");
- return MM_UTIL_ERROR_NO_SUCH_FILE;
- }
- if (!strncmp(pFileName, realPATH, strlen(pFileName))) {
- if ((fpWriter = fopen(pFileName, "wb")) == NULL) {
- mm_util_error("[infile] file open [%s] failed", pFileName);
- mm_util_stderror("file open failed");
+ if (g_file_test(pFileName, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) {
+ realPATH = realpath(pFileName, NULL);
+ if (realPATH == NULL) {
+ mm_util_error("realpath failed [%s]", pFileName);
+ mm_util_stderror("realpath failed");
+ return MM_UTIL_ERROR_NO_SUCH_FILE;
+ }
+ if (!strncmp(pFileName, realPATH, strlen(pFileName))) {
+ if ((fpWriter = fopen(pFileName, "wb")) == NULL) {
+ mm_util_error("[infile] file open [%s] failed", pFileName);
+ mm_util_stderror("file open failed");
+ MMUTIL_SAFE_FREE(realPATH);
+ return MM_UTIL_ERROR_INVALID_OPERATION;
+ }
+ } else {
+ mm_util_error("[infile] file [%s] is symlink", pFileName);
MMUTIL_SAFE_FREE(realPATH);
return MM_UTIL_ERROR_NO_SUCH_FILE;
}
- } else {
- mm_util_error("[infile] file [%s] is symlink", pFileName);
+
MMUTIL_SAFE_FREE(realPATH);
- return MM_UTIL_ERROR_NO_SUCH_FILE;
+ } else {
+ if ((fpWriter = fopen(pFileName, "wb")) == NULL) {
+ mm_util_error("[infile] file open [%s] failed", pFileName);
+ mm_util_stderror("file open failed");
+ return MM_UTIL_ERROR_INVALID_OPERATION;
+ }
}
- MMUTIL_SAFE_FREE(realPATH);
-
jpeg_stdio_dest(&cinfo, fpWriter);
cinfo.image_width = width;
cinfo.image_height = height;
return MM_UTIL_ERROR_NO_SUCH_FILE;
}
- realPATH = realpath(fpath, NULL);
- if (realPATH == NULL) {
- mm_util_error("realpath failed");
- return MM_UTIL_ERROR_NO_SUCH_FILE;
- }
+ if (g_file_test(fpath, G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR)) {
+ realPATH = realpath(fpath, NULL);
+ if (realPATH == NULL) {
+ mm_util_error("realpath failed [%s]", fpath);
+ mm_util_stderror("realpath failed");
+ return MM_UTIL_ERROR_NO_SUCH_FILE;
+ }
- if (!strncmp(fpath, realPATH, strlen(fpath))) {
- if ((fp = fopen(fpath, "w")) == NULL) {
- mm_util_stderror("file open failed");
+ if (!strncmp(fpath, realPATH, strlen(fpath))) {
+ if ((fp = fopen(fpath, "w")) == NULL) {
+ mm_util_stderror("file open failed");
+ MMUTIL_SAFE_FREE(realPATH);
+ return MM_UTIL_ERROR_INVALID_OPERATION;
+ }
+ } else {
+ mm_util_error("file is symbolic link");
MMUTIL_SAFE_FREE(realPATH);
return MM_UTIL_ERROR_NO_SUCH_FILE;
}
- } else {
- mm_util_error("file is symbolic link");
MMUTIL_SAFE_FREE(realPATH);
- return MM_UTIL_ERROR_NO_SUCH_FILE;
+ } else {
+ if ((fp = fopen(fpath, "w")) == NULL) {
+ mm_util_error("[infile] file open [%s] failed", fpath);
+ mm_util_stderror("file open failed");
+ return MM_UTIL_ERROR_INVALID_OPERATION;
+ }
}
- MMUTIL_SAFE_FREE(realPATH);
ret = write_png(data, encoded, fp);