mirror of https://gitee.com/openkylin/linux.git
staging: tidspbridge/pmgr: additional checking after return from strlen_user
strlen_user will return the length including final NUL. and will return 0 if failed (for example: if user string not NUL terminated) so need check whether it is an invalid parameter. addtional info: can reference the comments of strlen_user in lib/strnlen_user.c Signed-off-by: Chen Gang <gang.chen@asianux.com> Cc: Omar Ramirez Luna <omar.ramirez@copitl.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
cdbbc618f8
commit
ec7e0aef31
|
@ -414,10 +414,13 @@ u32 mgrwrap_register_object(union trapped_args *args, void *pr_ctxt)
|
||||||
CP_FM_USR(&uuid_obj, args->args_mgr_registerobject.uuid_obj, status, 1);
|
CP_FM_USR(&uuid_obj, args->args_mgr_registerobject.uuid_obj, status, 1);
|
||||||
if (status)
|
if (status)
|
||||||
goto func_end;
|
goto func_end;
|
||||||
/* path_size is increased by 1 to accommodate NULL */
|
|
||||||
path_size = strlen_user((char *)
|
path_size = strlen_user((char *)
|
||||||
args->args_mgr_registerobject.sz_path_name) +
|
args->args_mgr_registerobject.sz_path_name);
|
||||||
1;
|
if (!path_size) {
|
||||||
|
status = -EINVAL;
|
||||||
|
goto func_end;
|
||||||
|
}
|
||||||
|
|
||||||
psz_path_name = kmalloc(path_size, GFP_KERNEL);
|
psz_path_name = kmalloc(path_size, GFP_KERNEL);
|
||||||
if (!psz_path_name) {
|
if (!psz_path_name) {
|
||||||
status = -ENOMEM;
|
status = -ENOMEM;
|
||||||
|
|
Loading…
Reference in New Issue