1. 24 Jan, 2007 3 commits
    • Bruce Momjian's avatar
      When using MSVC, disable the building of ecpg if pthreads is not · 693c85d9
      Bruce Momjian authored
      specified.
      
      Magnus Hagander
      693c85d9
    • Tom Lane's avatar
      Get pg_utf_mblen(), pg_utf2wchar_with_len(), and utf2ucs() all on the same · 0887fa11
      Tom Lane authored
      page about the maximum UTF8 sequence length we support (4 bytes since 8.1,
      3 before that).  pg_utf2wchar_with_len never got updated to support 4-byte
      characters at all, and in any case had a buffer-overrun risk in that it
      could produce multiple pg_wchars from what mblen claims to be just one UTF8
      character.  The only reason we don't have a major security hole is that most
      callers allocate worst-case output buffers; the sole exception in released
      versions appears to be pre-8.2 iwchareq() (ie, ILIKE), which can be crashed
      due to zeroing out its return address --- but AFAICS that can't be exploited
      for anything more than a crash, due to inability to control what gets written
      there.  Per report from James Russell and Michael Fuhr.
      
      Pre-8.1 the risk is much less, but I still think pg_utf2wchar_with_len's
      behavior given an incomplete final character risks buffer overrun, so
      back-patch that logic change anyway.
      
      This patch also makes sure that UTF8 sequences exceeding the supported
      length (whichever it is) are consistently treated as error cases, rather
      than being treated like a valid shorter sequence in some places.
      0887fa11
    • Tom Lane's avatar
      Relax an Assert() that has been found to be too strict in some situations · 07cf99ac
      Tom Lane authored
      involving unions of types having typmods.  Variants of the failure are known
      to occur in 8.1 and up; not sure if it's possible in 8.0 and 7.4, but since
      the code exists that far back, I'll just patch 'em all.  Per report from
      Brian Hurt.
      07cf99ac
  2. 23 Jan, 2007 9 commits
  3. 22 Jan, 2007 8 commits
  4. 21 Jan, 2007 3 commits
  5. 20 Jan, 2007 17 commits