mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-24 14:45:24 +00:00
absolutePathFromBaseFile: avoid an unnecessary use of assert
* src/util/storage_file.c (absolutePathFromBaseFile): While this use of virAsprintf is slightly cleaner than using stpncpy(stpcpy(..., it does impose an artificial limitation on the length of the base_file name. Rather than asserting that it does not exceed INT_MAX, return NULL when it does.
This commit is contained in:
parent
69cf62adac
commit
e3042683bd
@ -26,7 +26,6 @@
|
|||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <assert.h>
|
|
||||||
#include "dirname.h"
|
#include "dirname.h"
|
||||||
#include "ignore-value.h"
|
#include "ignore-value.h"
|
||||||
#include "memory.h"
|
#include "memory.h"
|
||||||
@ -251,7 +250,8 @@ absolutePathFromBaseFile(const char *base_file, const char *path)
|
|||||||
return strdup(path);
|
return strdup(path);
|
||||||
|
|
||||||
/* Ensure that the following cast-to-int is valid. */
|
/* Ensure that the following cast-to-int is valid. */
|
||||||
assert (d_len <= INT_MAX);
|
if (d_len > INT_MAX)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
ignore_value(virAsprintf(&res, "%.*s/%s", (int) d_len, base_file, path));
|
ignore_value(virAsprintf(&res, "%.*s/%s", (int) d_len, base_file, path));
|
||||||
return res;
|
return res;
|
||||||
|
Loading…
Reference in New Issue
Block a user