Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ec7e0aef authored by Chen Gang's avatar Chen Gang Committed by Greg Kroah-Hartman
Browse files

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: default avatarChen Gang <gang.chen@asianux.com>
Cc: Omar Ramirez Luna <omar.ramirez@copitl.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent cdbbc618
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -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);
	if (status)
		goto func_end;
	/* path_size is increased by 1 to accommodate NULL */
	path_size = strlen_user((char *)
				args->args_mgr_registerobject.sz_path_name) +
	    1;
				args->args_mgr_registerobject.sz_path_name);
	if (!path_size) {
		status = -EINVAL;
		goto func_end;
	}

	psz_path_name = kmalloc(path_size, GFP_KERNEL);
	if (!psz_path_name) {
		status = -ENOMEM;