If a vector that we try to write using file_write is empty, we may end
up passing NULL to fwrite, which triggers UBSan:
  .../gdb/dwarf-index-write.c:73:14: runtime error: null pointer passed as argument 1, which is declared to never be null
Avoid it by skipping the write if the vector is empty.
gdb/ChangeLog:
	* dwarf-index-write.c (file_write): Don't write if the vector is
	empty.
+2018-10-04  Simon Marchi  <simon.marchi@ericsson.com>
+
+       * dwarf-index-write.c (file_write): Don't write if the vector is
+       empty.
+
 2018-10-05  Tom de Vries  <tdevries@suse.de>
 
        * python/py-progspace.c (pspy_solib_name): Fix type mismatch in
 
 static void
 file_write (FILE *file, const std::vector<Elem, Alloc> &vec)
 {
-  file_write (file, vec.data (), vec.size () * sizeof (vec[0]));
+  if (!vec.empty ())
+    file_write (file, vec.data (), vec.size () * sizeof (vec[0]));
 }
 
 /* In-memory buffer to prepare data to be written later to a file.  */