Commit b0a95330 authored by Cyrill Gorcunov's avatar Cyrill Gorcunov

crtools: Make sure there is enough space to hold image path

Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
Acked-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 7a11cfc0
...@@ -209,15 +209,22 @@ int get_image_path(char *path, int size, const char *fmt, int pid) ...@@ -209,15 +209,22 @@ int get_image_path(char *path, int size, const char *fmt, int pid)
int ret; int ret;
strncpy(path, image_dir, size); strncpy(path, image_dir, size);
if (size <= image_dir_size)
goto err;
path[image_dir_size] = '/'; path[image_dir_size] = '/';
size -= image_dir_size + 1; size -= image_dir_size + 1;
ret = snprintf(path + image_dir_size + 1, size, fmt, pid); ret = snprintf(path + image_dir_size + 1, size, fmt, pid);
if (ret == -1 || ret >= size) { if (ret == -1 || ret >= size)
pr_err("can't get image path\n"); goto err;
return -1;
}
return 0; return 0;
err:
pr_err("can't get image path\n");
return -1;
} }
int main(int argc, char *argv[]) int main(int argc, char *argv[])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment