DM:fix the possible buffer overflow issue using 'strncpy'

function 'strncpy' may incorrectly check buffer boundaries
and may overflow buffers.

Signed-off-by: Yonghua Huang <yonghua.huang@intel.com>
This commit is contained in:
Yonghua Huang 2018-05-22 18:39:08 +08:00 committed by lijinxia
parent 4ed6d92226
commit eb943e7b13
4 changed files with 6 additions and 6 deletions

View File

@ -128,7 +128,7 @@ acrn_get_bzimage_setup_size(struct vmctx *ctx)
int int
acrn_parse_kernel(char *arg) acrn_parse_kernel(char *arg)
{ {
int len = strlen(arg); size_t len = strlen(arg);
if (len < STR_LEN) { if (len < STR_LEN) {
strncpy(kernel_path, arg, len); strncpy(kernel_path, arg, len);
@ -148,7 +148,7 @@ acrn_parse_kernel(char *arg)
int int
acrn_parse_ramdisk(char *arg) acrn_parse_ramdisk(char *arg)
{ {
int len = strlen(arg); size_t len = strlen(arg);
if (len < STR_LEN) { if (len < STR_LEN) {
strncpy(ramdisk_path, arg, len); strncpy(ramdisk_path, arg, len);

View File

@ -101,7 +101,7 @@ const struct e820_entry e820_default_entries[NUM_E820_ENTRIES] = {
int int
acrn_parse_bootargs(char *arg) acrn_parse_bootargs(char *arg)
{ {
int len = strlen(arg); size_t len = strlen(arg);
if (len < STR_LEN) { if (len < STR_LEN) {
strncpy(bootargs, arg, len); strncpy(bootargs, arg, len);

View File

@ -108,7 +108,7 @@ vsbl_set_bdf(int bnum, int snum, int fnum)
int int
acrn_parse_guest_part_info(char *arg) acrn_parse_guest_part_info(char *arg)
{ {
int len = strlen(arg); size_t len = strlen(arg);
if (len < STR_LEN) { if (len < STR_LEN) {
strncpy(guest_part_info_path, arg, len); strncpy(guest_part_info_path, arg, len);
@ -169,7 +169,7 @@ acrn_prepare_guest_part_info(struct vmctx *ctx)
int int
acrn_parse_vsbl(char *arg) acrn_parse_vsbl(char *arg)
{ {
int len = strlen(arg); size_t len = strlen(arg);
if (len < STR_LEN) { if (len < STR_LEN) {
strncpy(vsbl_path, arg, len); strncpy(vsbl_path, arg, len);

View File

@ -908,7 +908,7 @@ basl_make_templates(void)
{ {
const char *tmpdir; const char *tmpdir;
int err; int err;
int len; size_t len;
err = 0; err = 0;