• Namjae Jeon's avatar
    ksmbd: fix __write_overflow warning in ndr_read_string · 7d5d8d71
    Namjae Jeon authored
    Dan reported __write_overflow warning in ndr_read_string.
    
      CC [M]  fs/ksmbd/ndr.o
    In file included from ./include/linux/string.h:253,
                     from ./include/linux/bitmap.h:11,
                     from ./include/linux/cpumask.h:12,
                     from ./arch/x86/include/asm/cpumask.h:5,
                     from ./arch/x86/include/asm/msr.h:11,
                     from ./arch/x86/include/asm/processor.h:22,
                     from ./arch/x86/include/asm/cpufeature.h:5,
                     from ./arch/x86/include/asm/thread_info.h:53,
                     from ./include/linux/thread_info.h:60,
                     from ./arch/x86/include/asm/preempt.h:7,
                     from ./include/linux/preempt.h:78,
                     from ./include/linux/spinlock.h:55,
                     from ./include/linux/wait.h:9,
                     from ./include/linux/wait_bit.h:8,
                     from ./include/linux/fs.h:6,
                     from fs/ksmbd/ndr.c:7:
    In function memcpy,
        inlined from ndr_read_string at fs/ksmbd/ndr.c:86:2,
        inlined from ndr_decode_dos_attr at fs/ksmbd/ndr.c:167:2:
    ./include/linux/fortify-string.h:219:4: error: call to __write_overflow
    declared with attribute error: detected write beyond size of object
        __write_overflow();
        ^~~~~~~~~~~~~~~~~~
    
    This seems to be a false alarm because hex_attr size is always smaller
    than n->length. This patch fix this warning by allocation hex_attr with
    n->length.
    Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: default avatarNamjae Jeon <namjae.jeon@samsung.com>
    Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
    7d5d8d71
ndr.c 7.36 KB