[sfnt] Ensure OTTO fonts have tables (#57285).

* src/sfnt/ttload.c (tt_face_load_font_dir): Add test.
diff --git a/ChangeLog b/ChangeLog
index 78bd146..b921853 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2019-11-23  Ben Wagner  <bungeman@google.com>
+
+	[sfnt] Ensure OTTO fonts have tables (#57285).
+
+	* src/sfnt/ttload.c (tt_face_load_font_dir): Add test.
+
 2019-11-23  Behdad Esfahbod  <behdad@behdad.org>
 
 	Minor fixes for recent compilers.
diff --git a/src/sfnt/ttload.c b/src/sfnt/ttload.c
index 5443bf4..15b01a8 100644
--- a/src/sfnt/ttload.c
+++ b/src/sfnt/ttload.c
@@ -397,7 +397,15 @@
       }
     }
     else
+    {
       valid_entries = sfnt.num_tables;
+      if ( !valid_entries )
+      {
+        FT_TRACE2(( "tt_face_load_font_dir: no valid tables found\n" ));
+        error = FT_THROW( Unknown_File_Format );
+        goto Exit;
+      }
+    }
 
     face->num_tables = valid_entries;
     face->format_tag = sfnt.format_tag;