Resolve memory leak found by valgrind
Resolve memory leak found by valgrind

Commit '6afdfc8e' adjusted the exit and error paths to go through the error
and cleanup labels, but neglected to remove the return ret prior to cleanup.
Also noted the 'type' xml string fetch was never checked for NULL which
could lead to some interesting results.

olafhering/libvirt,VenkatDatta/libvirt,crobinso/libvirt,datto/libvirt,nertpinx/libvirt,cbosdo/libvirt,jardasgit/libvirt,eskultety/libvirt,cbosdo/libvirt,jardasgit/libvirt,jardasgit/libvirt,jfehlig/libvirt,taget/libvirt,rlaager/libvirt,andreabolognani/libvirt,zippy2/libvirt,rlaager/libvirt,datto/libvirt,zhlcindy/libvirt-1.1.4-maintain,nertpinx/libvirt,shugaoye/libvirt,shugaoye/libvirt,libvirt/libvirt,libvirt/libvirt,zippy2/libvirt,zhlcindy/libvirt-1.1.4-maintain,datto/libvirt,rlaager/libvirt,datto/libvirt,VenkatDatta/libvirt,zippy2/libvirt,nertpinx/libvirt,eskultety/libvirt,elmarco/libvirt,fabianfreyer/libvirt,elmarco/libvirt,olafhering/libvirt,rlaager/libvirt,VenkatDatta/libvirt,eskultety/libvirt,agx/libvirt,eskultety/libvirt,crobinso/libvirt,jardasgit/libvirt,nertpinx/libvirt,agx/libvirt,agx/libvirt,elmarco/libvirt,olafhering/libvirt,fabianfreyer/libvirt,eskultety/libvirt,crobinso/libvirt,zhlcindy/libvirt-1.1.4-maintain,andreabolognani/libvirt,andreabolognani/libvirt,jfehlig/libvirt,shugaoye/libvirt,zhlcindy/libvirt-1.1.4-maintain,fabianfreyer/libvirt,datto/libvirt,nertpinx/libvirt,cbosdo/libvirt,agx/libvirt,crobinso/libvirt,zippy2/libvirt,jfehlig/libvirt,taget/libvirt,taget/libvirt,fabianfreyer/libvirt,cbosdo/libvirt,agx/libvirt,shugaoye/libvirt,fabianfreyer/libvirt,taget/libvirt,cbosdo/libvirt,andreabolognani/libvirt,taget/libvirt,VenkatDatta/libvirt,jardasgit/libvirt,libvirt/libvirt,zhlcindy/libvirt-1.1.4-maintain,andreabolognani/libvirt,elmarco/libvirt,olafhering/libvirt,libvirt/libvirt,rlaager/libvirt,VenkatDatta/libvirt,jfehlig/libvirt,shugaoye/libvirt,elmarco/libvirt