gvdb-reader: robustness improvements
gvdb-reader: robustness improvements

Improve the robustness of gvdb-reader in two ways.

First: ensure that the result of gvdb_table_has_value() always agrees
with gvdb_table_get_value().  Those two could disagree in the case that
the value was recorded as existing but pointed to an out-of-bounds
region.

Second: prevent gvdb_table_walk() from getting stuck in finite loops due
to self-referential directories.

endlessm/glib,endlessm/glib,endlessm/glib,GNOME/dconf,GNOME/dconf,endlessm/glib,GNOME/dconf,endlessm/glib,GNOME/dconf