Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Fix psql crash while parsing SQL file whose encoding is different from
authorTatsuo Ishii <ishii@postgresql.org>
Sun, 2 Dec 2012 12:11:15 +0000 (21:11 +0900)
committerTatsuo Ishii <ishii@postgresql.org>
Sun, 2 Dec 2012 12:21:01 +0000 (21:21 +0900)
client encoding and the client encoding is not *safe* one. Such an
example is, file encoding is UTF-8 and client encoding SJIS. Patch
contributed by Jiang Guiqing.

src/bin/psql/psqlscan.l

index 1208c8f475cac29ff38016d0ef867682e9a3a7d9..a3d569f13dbedf6895955dd68524f8f998b5084f 100644 (file)
@@ -1807,7 +1807,7 @@ prepare_buffer(const char *txt, int len, char **txtcopy)
            /* first byte should always be okay... */
            newtxt[i] = txt[i];
            i++;
-           while (--thislen > 0)
+           while (--thislen > 0 && i < len)
                newtxt[i++] = (char) 0xFF;
        }
    }