Various fixes following a code review

* src/libvirt.c src/lxc/lxc_conf.c src/lxc/lxc_container.c
  src/lxc/lxc_controller.c src/node_device/node_device_hal.c
  src/openvz/openvz_conf.c src/qemu/qemu_driver.c
  src/qemu/qemu_monitor_text.c src/remote/remote_driver.c
  src/storage/storage_backend_disk.c src/storage/storage_driver.c
  src/util/logging.c src/xen/sexpr.c src/xen/xend_internal.c
  src/xen/xm_internal.c: Steve Grubb <sgrubb@redhat.com> sent a code
  review and those are the fixes correcting the problems
This commit is contained in:
Daniel Veillard 2009-11-10 12:56:11 +01:00
parent 9b6efcfef1
commit 52147a0452
14 changed files with 46 additions and 45 deletions

View File

@ -1122,7 +1122,7 @@ do_open (const char *name,
(res == VIR_DRV_OPEN_DECLINED ? "DECLINED" :
(res == VIR_DRV_OPEN_ERROR ? "ERROR" : "unknown status")));
if (res == VIR_DRV_OPEN_ERROR) {
if (0 && STREQ(virStorageDriverTab[i]->name, "remote")) {
if (STREQ(virStorageDriverTab[i]->name, "remote")) {
virLibConnWarning (NULL, VIR_WAR_NO_STORAGE,
"Is the daemon running ?");
}

View File

@ -31,6 +31,7 @@
#include "nodeinfo.h"
#include "virterror_internal.h"
#include "conf.h"
#include "memory.h"
#include "logging.h"
@ -111,10 +112,10 @@ int lxcLoadDriverConfig(lxc_driver_t *driver)
/* Avoid error from non-existant or unreadable file. */
if (access (filename, R_OK) == -1)
return 0;
goto done;
conf = virConfReadFile(filename, 0);
if (!conf)
return 0;
goto done;
p = virConfGetValue(conf, "log_with_libvirtd");
if (p) {
@ -125,6 +126,9 @@ int lxcLoadDriverConfig(lxc_driver_t *driver)
}
virConfFree(conf);
done:
VIR_FREE(filename);
return 0;
no_memory:

View File

@ -753,6 +753,7 @@ static int lxcContainerChild( void *data )
virReportSystemError(NULL, errno,
_("Failed to open tty %s"),
ttyPath);
VIR_FREE(ttyPath);
return -1;
}
VIR_FREE(ttyPath);

View File

@ -501,7 +501,7 @@ lxcControllerRun(virDomainDefPtr def,
{
int rc = -1;
int control[2] = { -1, -1};
int containerPty;
int containerPty = -1;
char *containerPtyPath;
pid_t container = -1;
virDomainFSDefPtr root;
@ -734,7 +734,7 @@ int main(int argc, char *argv[])
goto cleanup;
}
if (getuid() && 0) {
if (getuid() != 0) {
fprintf(stderr, "%s: must be run as the 'root' user\n", argv[0]);
goto cleanup;
}

View File

@ -364,7 +364,7 @@ static int gather_capabilities(LibHalContext *ctx, const char *udi,
{
char *bus_name = NULL;
virNodeDevCapsDefPtr caps = NULL;
char **hal_cap_names;
char **hal_cap_names = NULL;
int rv, i;
if (STREQ(udi, "/org/freedesktop/Hal/devices/computer")) {
@ -778,11 +778,6 @@ static int halDeviceMonitorStartup(int privileged ATTRIBUTE_UNUSED)
virNodeDeviceObjListFree(&driverState->devs);
if (hal_ctx)
(void)libhal_ctx_free(hal_ctx);
if (udi) {
for (i = 0; i < num_devs; i++)
VIR_FREE(udi[i]);
VIR_FREE(udi);
}
nodeDeviceUnlock(driverState);
VIR_FREE(driverState);

View File

@ -329,12 +329,14 @@ openvz_replace(const char* str,
const char* to) {
const char* offset = NULL;
const char* str_start = str;
int to_len = strlen(to);
int from_len = strlen(from);
int to_len;
int from_len;
virBuffer buf = VIR_BUFFER_INITIALIZER;
if(!from)
if ((!from) || (!to))
return NULL;
from_len = strlen(from);
to_len = strlen(to);
while((offset = strstr(str_start, from)))
{

View File

@ -1180,9 +1180,9 @@ qemudReadLogOutput(virConnectPtr conn,
usleep(100*1000);
retries--;
}
if (retries == 0)
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
_("Timed out while reading %s log output"), what);
qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
_("Timed out while reading %s log output"), what);
return -1;
}
@ -4635,6 +4635,7 @@ static int qemudDomainChangeEjectableMedia(virConnectPtr conn,
newdisk->src = NULL;
origdisk->type = newdisk->type;
}
VIR_FREE(devname);
return ret;
}

View File

@ -937,9 +937,10 @@ doRemoteOpen (virConnectPtr conn,
if (priv->pid > 0) {
pid_t reap;
do {
retry:
reap = waitpid(priv->pid, NULL, 0);
if (reap == -1 && errno == EINTR)
continue;
goto retry;
} while (reap != -1 && reap != priv->pid);
}
#endif
@ -1400,9 +1401,10 @@ doRemoteClose (virConnectPtr conn, struct private_data *priv)
if (priv->pid > 0) {
pid_t reap;
do {
retry:
reap = waitpid(priv->pid, NULL, 0);
if (reap == -1 && errno == EINTR)
continue;
goto retry;
} while (reap != -1 && reap != priv->pid);
}
#endif

View File

@ -82,12 +82,10 @@ virStorageBackendDiskMakeDataVol(virConnectPtr conn,
* dir every time its run. Should figure out a more efficient
* way of doing this...
*/
if ((vol->target.path = virStorageBackendStablePath(conn,
pool,
devpath)) == NULL)
return -1;
vol->target.path = virStorageBackendStablePath(conn, pool, devpath);
VIR_FREE(devpath);
if (vol->target.path == NULL)
return -1;
}
if (vol->key == NULL) {
@ -646,7 +644,7 @@ virStorageBackendDiskDeleteVol(virConnectPtr conn,
part_num = devname + strlen(srcname);
if (!part_num) {
if (*part_num == 0) {
virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR,
_("cannot parse partition number from target "
"'%s'"), devname);

View File

@ -80,7 +80,8 @@ storageDriverAutostart(virStorageDriverStatePtr driver) {
backend->startPool(NULL, pool) < 0) {
virErrorPtr err = virGetLastError();
storageLog("Failed to autostart storage pool '%s': %s",
pool->def->name, err ? err->message : NULL);
pool->def->name, err ? err->message :
"no error message found");
virStoragePoolObjUnlock(pool);
continue;
}
@ -90,7 +91,8 @@ storageDriverAutostart(virStorageDriverStatePtr driver) {
if (backend->stopPool)
backend->stopPool(NULL, pool);
storageLog("Failed to autostart storage pool '%s': %s",
pool->def->name, err ? err->message : NULL);
pool->def->name, err ? err->message :
"no error message found");
virStoragePoolObjUnlock(pool);
continue;
}

View File

@ -386,7 +386,7 @@ int virLogDefineFilter(const char *match, int priority,
}
mdup = strdup(match);
if (dup == NULL) {
if (mdup == NULL) {
i = -1;
goto cleanup;
}
@ -484,6 +484,7 @@ int virLogDefineOutput(virLogOutputFunc f, virLogCloseFunc c, void *data,
virLogLock();
if (VIR_REALLOC_N(virLogOutputs, virLogNbOutputs + 1)) {
VIR_FREE(ndup);
goto cleanup;
}
ret = virLogNbOutputs++;

View File

@ -440,9 +440,6 @@ sexpr_lookup_key(const struct sexpr *sexpr, const char *node)
for (token = strsep(&ptr, "/"); token; token = strsep(&ptr, "/")) {
const struct sexpr *i;
if (token == NULL)
continue;
sexpr = sexpr->u.s.cdr;
for (i = sexpr; i->kind != SEXPR_NIL; i = i->u.s.cdr) {
if (i->kind != SEXPR_CONS ||

View File

@ -1369,16 +1369,14 @@ xend_parse_sexp_desc_char(virConnectPtr conn,
goto no_memory;
}
if (connectPort) {
if (connectHost) {
virBufferVSprintf(buf,
" <source mode='connect' host='%s' service='%s'/>\n",
connectHost, connectPort);
} else {
virBufferVSprintf(buf,
" <source mode='connect' service='%s'/>\n",
connectPort);
}
if (connectHost) {
virBufferVSprintf(buf,
" <source mode='connect' host='%s' service='%s'/>\n",
connectHost, connectPort);
} else {
virBufferVSprintf(buf,
" <source mode='connect' service='%s'/>\n",
connectPort);
}
if (bindPort) {
if (bindHost) {

View File

@ -576,8 +576,7 @@ int xenXMConfigCacheRefresh (virConnectPtr conn) {
virHashRemoveSet(priv->configCache, xenXMConfigReaper, xenXMConfigFree, &args);
ret = 0;
if (dh)
closedir(dh);
closedir(dh);
return (ret);
}
@ -2229,8 +2228,9 @@ virConfPtr xenXMDomainConfigFormat(virConnectPtr conn,
if (xenXMConfigSetInt(conf, "vcpus", def->vcpus) < 0)
goto no_memory;
if (def->cpumask &&
!(cpus = virDomainCpuSetFormat(conn, def->cpumask, def->cpumasklen)) < 0)
if ((def->cpumask != NULL) &&
((cpus = virDomainCpuSetFormat(conn, def->cpumask,
def->cpumasklen)) == NULL))
goto cleanup;
if (cpus &&