diff --git a/src/vmware/vmware_conf.c b/src/vmware/vmware_conf.c index c96bd624f4..c339186ba8 100644 --- a/src/vmware/vmware_conf.c +++ b/src/vmware/vmware_conf.c @@ -331,15 +331,15 @@ vmwareDomainConfigDisplay(vmwareDomainPtr pDomain, virDomainDefPtr def) } } -int -vmwareParsePath(char *path, char **directory, char **filename) +static int +vmwareParsePath(const char *path, char **directory, char **filename) { char *separator; separator = strrchr(path, '/'); if (separator != NULL) { - *separator++ = '\0'; + separator++; if (*separator == '\0') { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -347,7 +347,7 @@ vmwareParsePath(char *path, char **directory, char **filename) return -1; } - if (VIR_STRDUP(*directory, path) < 0) + if (VIR_STRNDUP(*directory, path, separator - path - 1) < 0) goto error; if (VIR_STRDUP(*filename, separator) < 0) { VIR_FREE(*directory); diff --git a/src/vmware/vmware_conf.h b/src/vmware/vmware_conf.h index b9fca6cc5e..c99610d4ca 100644 --- a/src/vmware/vmware_conf.h +++ b/src/vmware/vmware_conf.h @@ -1,5 +1,7 @@ /*---------------------------------------------------------------------------*/ -/* Copyright 2010, diateam (www.diateam.net) +/* + * Copyright (C) 2014 Red Hat, Inc. + * Copyright 2010, diateam (www.diateam.net) * Copyright (c) 2013, Doug Goldstein (cardoe@cardoe.com) * * This library is free software; you can redistribute it and/or @@ -71,8 +73,6 @@ int vmwareParseVersionStr(int type, const char *buf, unsigned long *version); int vmwareDomainConfigDisplay(vmwareDomainPtr domain, virDomainDefPtr vmdef); -int vmwareParsePath(char *path, char **directory, char **filename); - int vmwareConstructVmxPath(char *directoryName, char *name, char **vmxPath);