
On Tue, May 01, 2012 at 09:50:31AM -0400, William Jon McCann wrote:
+static int migrateProfile(void) +{ + char *old_base = NULL; + char *updated = NULL; + char *home = NULL; + char *xdg_dir = NULL; + char *config_dir = NULL; + int ret = -1; + mode_t old_umask; + + if (!(home = virGetUserDirectory(geteuid()))) + goto cleanup; + + if (virAsprintf(&old_base, "%s/.libvirt", home) < 0) { + goto cleanup; + } + + /* if the new directory is there or the old one is not: do nothing */ + if (!(config_dir = virGetUserConfigDirectory(geteuid()))) + goto cleanup; + + if (!virFileIsDir(old_base) || virFileExists(config_dir)) { + goto cleanup; + } + + /* test if we already attempted to migrate first */ + if (virAsprintf(&updated, "%s/DEPRECATED-DIRECTORY", old_base) < 0) { + goto cleanup; + } + if (virFileExists(updated)) { + goto cleanup; + } + + xdg_dir = strdup(getenv("XDG_CONFIG_HOME"));
Opps, segv-tastic - you can't pass a NULL string to strdup(). Bugs aside, I think this patch gets my vote. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|