fix PATH_MAX conditional compilation
PATH_MAX is used elsewhere in the qemu source tree without protection. In addtion the actual code would not compile if PATH_MAX is not defined Last the free() call is wrong as p is not malloc()ed. Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
d6fd1e6603
commit
4d22419661
11
vl.c
11
vl.c
@ -4625,9 +4625,7 @@ static char *find_datadir(const char *argv0)
|
|||||||
char *dir;
|
char *dir;
|
||||||
char *p = NULL;
|
char *p = NULL;
|
||||||
char *res;
|
char *res;
|
||||||
#ifdef PATH_MAX
|
|
||||||
char buf[PATH_MAX];
|
char buf[PATH_MAX];
|
||||||
#endif
|
|
||||||
size_t max_len;
|
size_t max_len;
|
||||||
|
|
||||||
#if defined(__linux__)
|
#if defined(__linux__)
|
||||||
@ -4652,10 +4650,7 @@ static char *find_datadir(const char *argv0)
|
|||||||
/* If we don't have any way of figuring out the actual executable
|
/* If we don't have any way of figuring out the actual executable
|
||||||
location then try argv[0]. */
|
location then try argv[0]. */
|
||||||
if (!p) {
|
if (!p) {
|
||||||
#ifdef PATH_MAX
|
p = realpath(argv0, buf);
|
||||||
p = buf;
|
|
||||||
#endif
|
|
||||||
p = realpath(argv0, p);
|
|
||||||
if (!p) {
|
if (!p) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -4674,9 +4669,7 @@ static char *find_datadir(const char *argv0)
|
|||||||
res = NULL;
|
res = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#ifndef PATH_MAX
|
|
||||||
free(p);
|
|
||||||
#endif
|
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
#undef SHARE_SUFFIX
|
#undef SHARE_SUFFIX
|
||||||
|
Loading…
Reference in New Issue
Block a user