mirror of
https://github.com/postgres/postgres.git
synced 2025-05-28 05:21:27 +03:00
Fix security definer functions with polymorphic arguments. This case has
never worked because fmgr_security_definer() neglected to pass the fn_expr information through. Per report from Viatcheslav Kalinin.
This commit is contained in:
parent
b25d3e4db0
commit
bfe4f48146
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/utils/fmgr/fmgr.c,v 1.97.2.1 2005/11/22 18:23:23 momjian Exp $
|
* $PostgreSQL: pgsql/src/backend/utils/fmgr/fmgr.c,v 1.97.2.2 2007/07/31 15:50:01 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -793,6 +793,7 @@ fmgr_security_definer(PG_FUNCTION_ARGS)
|
|||||||
|
|
||||||
fmgr_info_cxt_security(fcinfo->flinfo->fn_oid, &fcache->flinfo,
|
fmgr_info_cxt_security(fcinfo->flinfo->fn_oid, &fcache->flinfo,
|
||||||
fcinfo->flinfo->fn_mcxt, true);
|
fcinfo->flinfo->fn_mcxt, true);
|
||||||
|
fcache->flinfo.fn_expr = fcinfo->flinfo->fn_expr;
|
||||||
|
|
||||||
tuple = SearchSysCache(PROCOID,
|
tuple = SearchSysCache(PROCOID,
|
||||||
ObjectIdGetDatum(fcinfo->flinfo->fn_oid),
|
ObjectIdGetDatum(fcinfo->flinfo->fn_oid),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user