[Object, ELF] Don't assert on invalid magic in createELFObjectFile.

Instead, return a proper error code from factory.

llvm-svn: 239116
diff --git a/llvm/lib/Object/ELFObjectFile.cpp b/llvm/lib/Object/ELFObjectFile.cpp
index 1ffdc01..c7df30a 100644
--- a/llvm/lib/Object/ELFObjectFile.cpp
+++ b/llvm/lib/Object/ELFObjectFile.cpp
@@ -39,14 +39,15 @@
       R.reset(new ELFObjectFile<ELFType<support::big, false>>(Obj, EC));
     else
       return object_error::parse_failed;
-  } else {
-    assert(Ident.first == ELF::ELFCLASS64);
+  } else if (Ident.first == ELF::ELFCLASS64) {
     if (Ident.second == ELF::ELFDATA2LSB)
       R.reset(new ELFObjectFile<ELFType<support::little, true>>(Obj, EC));
     else if (Ident.second == ELF::ELFDATA2MSB)
       R.reset(new ELFObjectFile<ELFType<support::big, true>>(Obj, EC));
     else
       return object_error::parse_failed;
+  } else {
+    return object_error::parse_failed;
   }
 
   if (EC)