Index: src/trusted/desc/nacl_desc_wrapper.cc |
diff --git a/src/trusted/desc/nacl_desc_wrapper.cc b/src/trusted/desc/nacl_desc_wrapper.cc |
index ada9cb3aad152810f52670b829e4925ed1652c11..5d7013561809c98302172f25ce3a687abd72645b 100644 |
--- a/src/trusted/desc/nacl_desc_wrapper.cc |
+++ b/src/trusted/desc/nacl_desc_wrapper.cc |
@@ -315,6 +315,27 @@ DescWrapper* DescWrapperFactory::MakeFileDesc(int host_os_desc, int mode) { |
return MakeGenericCleanup(desc); |
} |
+DescWrapper* DescWrapperFactory::MakeFileDescMetadata(struct NaClFileInfo info, |
+ int mode) { |
+ int error; |
+ struct NaClDesc* desc = ImportHostDescCommon(info.desc, mode); |
+ if (NULL == desc) { |
+ return NULL; |
+ } |
+ if (info.file_token.lo != 0 || info.file_token.hi != 0) { |
Nick Bray (chromium)
2014/05/02 19:44:35
See previous CLs for comments on this check.
jvoung (off chromium)
2014/05/02 20:38:23
Done.
|
+ error = (*NACL_VTBL(NaClDesc, desc)-> |
Nick Bray (chromium)
2014/05/02 19:44:35
Why no NaClDescSetFileToken?
jvoung (off chromium)
2014/05/02 20:38:23
That's part of desc_cacheabiilty/ and desc_cacheab
|
+ SetMetadata)(desc, |
+ NACL_DESC_METADATA_FILE_TOKEN_TYPE, |
+ sizeof info.file_token, |
+ (uint8_t const *) &info.file_token); |
+ if (0 != error) { |
+ NaClDescSafeUnref(desc); |
+ return NULL; |
+ } |
+ } |
+ return MakeGenericCleanup(desc); |
+} |
+ |
DescWrapper* DescWrapperFactory::MakeFileDescQuota(int host_os_desc, |
int mode, |
const uint8_t* file_id) { |