diff --git a/trusty/storage/proxy/storage.c b/trusty/storage/proxy/storage.c index 229948119..8c8edb779 100644 --- a/trusty/storage/proxy/storage.c +++ b/trusty/storage/proxy/storage.c @@ -353,7 +353,6 @@ int storage_file_open(struct storage_msg* msg, const void* r, size_t req_len, if (open_flags & O_CREAT) { sync_parent(path, watcher); } - free(path); /* at this point rc contains storage file fd */ msg->result = STORAGE_NO_ERROR; @@ -361,6 +360,9 @@ int storage_file_open(struct storage_msg* msg, const void* r, size_t req_len, ALOGV("%s: \"%s\": fd = %u: handle = %d\n", __func__, path, rc, resp.handle); + free(path); + path = NULL; + /* a backing file has been opened, notify any waiting init steps */ if (!fs_ready_initialized) { rc = property_set(FS_READY_PROPERTY, "1");