#ifdef PATH_MAX
char buf[PATH_MAX];
#endif
+ size_t max_len;
#if defined(__linux__)
{
dir = dirname(p);
dir = dirname(dir);
- res = qemu_mallocz(strlen(dir) +
- MAX(strlen(SHARE_SUFFIX), strlen(BUILD_SUFFIX)) + 1);
- sprintf(res, "%s%s", dir, SHARE_SUFFIX);
+ max_len = strlen(dir) +
+ MAX(strlen(SHARE_SUFFIX), strlen(BUILD_SUFFIX)) + 1;
+ res = qemu_mallocz(max_len);
+ snprintf(res, max_len, "%s%s", dir, SHARE_SUFFIX);
if (access(res, R_OK)) {
- sprintf(res, "%s%s", dir, BUILD_SUFFIX);
+ snprintf(res, max_len, "%s%s", dir, BUILD_SUFFIX);
if (access(res, R_OK)) {
qemu_free(res);
res = NULL;
}
len = strlen(data_dir) + strlen(name) + strlen(subdir) + 2;
buf = qemu_mallocz(len);
- sprintf(buf, "%s/%s%s", data_dir, subdir, name);
+ snprintf(buf, len, "%s/%s%s", data_dir, subdir, name);
if (access(buf, R_OK)) {
qemu_free(buf);
return NULL;