The spec for mongoc_gridfs_find_one is weak in that it is not explicit on when the error is set (i.e. is the error set when the returned pointer is NULL?).
Meanwhile, mongoc_gridfs_fine_one_by_filename is explicit in that the error is set whenever the returned pointer is NULL.
In other words, the API spec for mongoc_gridfs_find_one should be strengthened on its post-condition for when the error is set.