about summary refs log tree commit diff
path: root/src/librustc_codegen_llvm/metadata.rs
diff options
context:
space:
mode:
authorIrina Popa <irinagpopa@gmail.com>2018-07-10 19:19:17 +0300
committerIrina Popa <irinagpopa@gmail.com>2018-07-30 20:10:28 +0300
commit2f73cef5a3bff0da510bfc35f88bb42009af6035 (patch)
tree0bdcdb2012c991f47b07fb614577145bfecb1f0b /src/librustc_codegen_llvm/metadata.rs
parentebec156abfc25ce695227ed2c12c420244a433f8 (diff)
downloadrust-2f73cef5a3bff0da510bfc35f88bb42009af6035.tar.gz
rust-2f73cef5a3bff0da510bfc35f88bb42009af6035.zip
rustc_codegen_llvm: use safe references for MemoryBuffer and ObjectFile.
Diffstat (limited to 'src/librustc_codegen_llvm/metadata.rs')
-rw-r--r--src/librustc_codegen_llvm/metadata.rs6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/librustc_codegen_llvm/metadata.rs b/src/librustc_codegen_llvm/metadata.rs
index 144baa65c1b..fcb704413ef 100644
--- a/src/librustc_codegen_llvm/metadata.rs
+++ b/src/librustc_codegen_llvm/metadata.rs
@@ -58,10 +58,8 @@ impl MetadataLoader for LlvmMetadataLoader {
                           -> Result<MetadataRef, String> {
         unsafe {
             let buf = common::path2cstr(filename);
-            let mb = llvm::LLVMRustCreateMemoryBufferWithContentsOfFile(buf.as_ptr());
-            if mb as isize == 0 {
-                return Err(format!("error reading library: '{}'", filename.display()));
-            }
+            let mb = llvm::LLVMRustCreateMemoryBufferWithContentsOfFile(buf.as_ptr())
+                .ok_or_else(|| format!("error reading library: '{}'", filename.display()))?;
             let of = ObjectFile::new(mb)
                 .map(|of| OwningRef::new(box of))
                 .ok_or_else(|| format!("provided path not an object file: '{}'",