~ubuntu-branches/ubuntu/trusty/postgresql-9.3/trusty-security

« back to all changes in this revision

Viewing changes to src/backend/optimizer/util/relnode.c

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2015-10-08 15:42:16 UTC
  • mfrom: (1.2.3) (18.1.3 trusty-proposed)
  • Revision ID: package-import@ubuntu.com-20151008154216-zvhdaqznz9qf4rw2
Tags: 9.3.10-0ubuntu0.14.04
* New upstream security/bug fix release: (LP: #1504132)
  - Guard against stack overflows in json parsing.
    If an application constructs PostgreSQL json or jsonb values from
    arbitrary user input, the application's users can reliably crash the
    PostgreSQL server, causing momentary denial of service.  (CVE-2015-5289)

  - Fix contrib/pgcrypto to detect and report too-short crypt() salts
    Certain invalid salt arguments crashed the server or disclosed a few
    bytes of server memory.  We have not ruled out the viability of attacks
    that arrange for presence of confidential information in the disclosed
    bytes, but they seem unlikely.  (CVE-2015-5288)

  - See release notes for details about other fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
101
101
        rel->width = 0;
102
102
        /* cheap startup cost is interesting iff not all tuples to be retrieved */
103
103
        rel->consider_startup = (root->tuple_fraction > 0);
 
104
        rel->consider_param_startup = false;            /* might get changed later */
104
105
        rel->reltargetlist = NIL;
105
106
        rel->pathlist = NIL;
106
107
        rel->ppilist = NIL;
360
361
        joinrel->width = 0;
361
362
        /* cheap startup cost is interesting iff not all tuples to be retrieved */
362
363
        joinrel->consider_startup = (root->tuple_fraction > 0);
 
364
        joinrel->consider_param_startup = false;
363
365
        joinrel->reltargetlist = NIL;
364
366
        joinrel->pathlist = NIL;
365
367
        joinrel->ppilist = NIL;
937
939
        {
938
940
                RestrictInfo *rinfo = (RestrictInfo *) lfirst(lc);
939
941
 
 
942
                /*
 
943
                 * In principle, join_clause_is_movable_into() should accept anything
 
944
                 * returned by generate_join_implied_equalities(); but because its
 
945
                 * analysis is only approximate, sometimes it doesn't.  So we
 
946
                 * currently cannot use this Assert; instead just assume it's okay to
 
947
                 * apply the joinclause at this level.
 
948
                 */
 
949
#ifdef NOT_USED
940
950
                Assert(join_clause_is_movable_into(rinfo,
941
951
                                                                                   joinrel->relids,
942
952
                                                                                   join_and_req));
 
953
#endif
943
954
                if (!join_clause_is_movable_into(rinfo,
944
955
                                                                                 outer_path->parent->relids,
945
956
                                                                                 outer_and_req) &&