B Thomas
2006-Jan-05 00:33 UTC
[Xen-devel] xc_linux_build - proactively check for NULL string arguments
Proactively check for NULL strings passed into xc_linx_build. Either DTRT or return error if detected. A NULL cmdline, for example, would currently generate a segfault. Signed-off-by: Ben Thomas bjthomas3@gmail.com diff -r 5b30599761b3 tools/libxc/xc_linux_build.c --- a/tools/libxc/xc_linux_build.c Mon Jan 2 10:35:29 2006 +++ b/tools/libxc/xc_linux_build.c Wed Jan 4 19:31:22 2006 @@ -689,8 +689,11 @@ start_info->mod_start = vinitrd_start; start_info->mod_len = initrd_len; } - strncpy((char *)start_info->cmd_line, cmdline, MAX_GUEST_CMDLINE); - start_info->cmd_line[MAX_GUEST_CMDLINE-1] = ''\0''; + if (cmdline != NULL) { + strncpy((char *)start_info->cmd_line, cmdline, MAX_GUEST_CMDLINE); + start_info->cmd_line[MAX_GUEST_CMDLINE-1] = ''\0''; + } else + start_info->cmd_line[0] = ''\0''; munmap(start_info, PAGE_SIZE); /* shared_info page starts its life empty. */ @@ -751,7 +754,8 @@ goto error_out; } - if ( (image = xc_read_kernel_image(image_name, &image_size)) == NULL ) + if ( (image_name == NULL) || + ((image = xc_read_kernel_image(image_name, &image_size)) == NULL ) ) goto error_out; if ( (ramdisk_name != NULL) && (strlen(ramdisk_name) != 0) ) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
B Thomas
2006-Jan-10 01:07 UTC
[Xen-devel] [PATCH] xc_linux_build - proactively check for NULL string arguments
[Forgot to say "please", errr, tag this as [PATCH]...oops] Proactively check for NULL strings passed into xc_linx_build. Either DTRT or return error if detected. A NULL cmdline, for example, would currently generate a segfault. Signed-off-by: Ben Thomas bjthomas3@gmail.com diff -r 5b30599761b3 tools/libxc/xc_linux_build.c --- a/tools/libxc/xc_linux_build.c Mon Jan 2 10:35:29 2006 +++ b/tools/libxc/xc_linux_build.c Wed Jan 4 19:31:22 2006 @@ -689,8 +689,11 @@ start_info->mod_start = vinitrd_start; start_info->mod_len = initrd_len; } - strncpy((char *)start_info->cmd_line, cmdline, MAX_GUEST_CMDLINE); - start_info->cmd_line[MAX_GUEST_CMDLINE-1] = ''\0''; + if (cmdline != NULL) { + strncpy((char *)start_info->cmd_line, cmdline, MAX_GUEST_CMDLINE); + start_info->cmd_line[MAX_GUEST_CMDLINE-1] = ''\0''; + } else + start_info->cmd_line[0] = ''\0''; munmap(start_info, PAGE_SIZE); /* shared_info page starts its life empty. */ @@ -751,7 +754,8 @@ goto error_out; } - if ( (image = xc_read_kernel_image(image_name, &image_size)) == NULL ) + if ( (image_name == NULL) || + ((image = xc_read_kernel_image(image_name, &image_size)) == NULL ) ) goto error_out; if ( (ramdisk_name != NULL) && (strlen(ramdisk_name) != 0) ) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Ewan Mellor
2006-Jan-10 14:42 UTC
Re: [Xen-devel] [PATCH] xc_linux_build - proactively check for NULL string arguments
On Mon, Jan 09, 2006 at 08:07:23PM -0500, B Thomas wrote:> [Forgot to say "please", errr, tag this as [PATCH]...oops] > > Proactively check for NULL strings passed into xc_linx_build. Either DTRT > or return error if detected. A NULL cmdline, for example, would currently > generate a segfault. > > Signed-off-by: Ben Thomas [1]bjthomas3@gmail.comSorry, didn''t mean to miss you -- I''ve just been a bit busy -- it''s applied now. (In fact, Keir applied it at the same time, so it''s in the tree twice ;-) Ewan. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel