summaryrefslogtreecommitdiffstats
path: root/uncrypt/uncrypt.c
diff options
context:
space:
mode:
Diffstat (limited to 'uncrypt/uncrypt.c')
-rw-r--r--uncrypt/uncrypt.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/uncrypt/uncrypt.c b/uncrypt/uncrypt.c
index 361c80483..7fb0989a7 100644
--- a/uncrypt/uncrypt.c
+++ b/uncrypt/uncrypt.c
@@ -164,7 +164,11 @@ char* parse_recovery_command_file()
if (f == NULL) {
return NULL;
}
- int fd = open(RECOVERY_COMMAND_FILE_TMP, O_WRONLY | O_SYNC);
+ int fd = open(RECOVERY_COMMAND_FILE_TMP, O_WRONLY | O_CREAT | O_SYNC, S_IRUSR | S_IWUSR);
+ if (fd < 0) {
+ ALOGE("failed to open %s\n", RECOVERY_COMMAND_FILE_TMP);
+ return NULL;
+ }
FILE* fo = fdopen(fd, "w");
while (fgets(temp, sizeof(temp), f)) {
@@ -192,7 +196,11 @@ int produce_block_map(const char* path, const char* map_file, const char* blk_de
struct stat sb;
int ret;
- int mapfd = open(map_file, O_WRONLY | O_SYNC);
+ int mapfd = open(map_file, O_WRONLY | O_CREAT | O_SYNC, S_IRUSR | S_IWUSR);
+ if (mapfd < 0) {
+ ALOGE("failed to open %s\n", map_file);
+ return -1;
+ }
FILE* mapf = fdopen(mapfd, "w");
ret = stat(path, &sb);