(absolutePathFromBaseFile): fix up preceding commit

When configured with --enable-gcc-warnings, it didn't even compile.
* src/util/storage_file.c: Include <assert.h>.
(absolutePathFromBaseFile): Assert that converting size_t to int is valid.
Reverse length/string args to match "%.*s".
Explicitly ignore the return value of virAsprintf.
This commit is contained in:
Jim Meyering 2010-02-05 14:57:35 +01:00
parent 53b7dae139
commit c3e73528f1

View File

@ -26,7 +26,9 @@
#include <unistd.h>
#include <fcntl.h>
#include <assert.h>
#include "dirname.h"
#include "ignore-value.h"
#include "memory.h"
#include "virterror_internal.h"
@ -255,7 +257,10 @@ absolutePathFromBaseFile(const char *base_file, const char *path)
if (*path == '/' || d_len == 0)
return strdup(path);
virAsprintf(&res, "%.*s/%s", base_file, d_len, path);
/* Ensure that the following cast-to-int is valid. */
assert (d_len <= INT_MAX);
ignore_value(virAsprintf(&res, "%.*s/%s", (int) d_len, base_file, path));
return res;
}