[linux-cifs-client] Re: [PATCH] cifs: fix buffer overrun in parse_DFS_referrals

Renato S. Yamane yamane at diamondcut.com.br
Wed Dec 17 15:40:56 GMT 2008


Jeff Layton wrote:
> ---
>  fs/cifs/cifssmb.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
> index 9395928..824df14 100644
> --- a/fs/cifs/cifssmb.c
> +++ b/fs/cifs/cifssmb.c
> @@ -3992,7 +3992,8 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
>  
>  		node->flags = le16_to_cpu(pSMBr->DFSFlags);
>  		if (is_unicode) {
> -			__le16 *tmp = kmalloc(strlen(searchName)*2, GFP_KERNEL);
> +			__le16 *tmp = kmalloc(strlen(searchName)*2 + 2,
> +						GFP_KERNEL);
>  			cifsConvertToUCS((__le16 *) tmp, searchName,
>  					PATH_MAX, nls_codepage, remap);
>  			node->path_consumed = hostlen_fromUCS(tmp,

This patch can't be applied in -stable release:

yamane at mandachuva:~/kernel/linux-2.6.27.9$ patch -p1 < cifs.patch
patching file fs/cifs/cifssmb.c
patch unexpectedly ends in middle of line
Hunk #1 FAILED at 3992.
1 out of 1 hunk FAILED -- saving rejects to file fs/cifs/cifssmb.c.rej

Best regards,
Renato


More information about the linux-cifs-client mailing list