]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
absolutePathFromBaseFile: avoid an unnecessary use of assert
authorJim Meyering <meyering@redhat.com>
Wed, 10 Feb 2010 10:54:24 +0000 (11:54 +0100)
committerJim Meyering <meyering@redhat.com>
Wed, 10 Feb 2010 11:30:09 +0000 (12:30 +0100)
* 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.

src/util/storage_file.c

index 3b69210e8ca5f120f25fa55dee345ee9a49f0d98..f8e528d30e617367ab7b632f165b8b5f8cd359ef 100644 (file)
@@ -26,7 +26,6 @@
 
 #include <unistd.h>
 #include <fcntl.h>
-#include <assert.h>
 #include "dirname.h"
 #include "ignore-value.h"
 #include "memory.h"
@@ -251,7 +250,8 @@ absolutePathFromBaseFile(const char *base_file, const char *path)
         return strdup(path);
 
     /* 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));
     return res;