Skip to content

Commit a7aa0b8

Browse files
committed
Backpatch dbmirror fix for escape handling.
> Upstream confirmed my reply in the last mail in [1]: the complete > escaping logic in DBMirror.pl is seriously screwew. > > [1] http://archives.postgresql.org/pgsql-bugs/2006-06/msg00065.php I finally found some time to debug this, and I think I found a better patch than the one you proposed. Mine is still hackish and is still a workaround around a proper quoting solution, but at least it repairs the parsing without introducing the \' quoting again. I consider this a band-aid patch to fix the recent security update. PostgreSQL gurus, would you consider applying this until a better solution is found for DBMirror.pl? Olivier, can you please confirm that the patch works for you, too? Backpatched to 8.0.X. Martin Pitt
1 parent 4f4d62a commit a7aa0b8

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

contrib/dbmirror/DBMirror.pl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
#
3434
#
3535
##############################################################################
36-
# $PostgreSQL: pgsql/contrib/dbmirror/DBMirror.pl,v 1.11 2006/05/19 02:38:47 momjian Exp $
36+
# $PostgreSQL: pgsql/contrib/dbmirror/DBMirror.pl,v 1.12 2006/07/06 01:57:25 momjian Exp $
3737
#
3838
##############################################################################
3939

@@ -907,7 +907,7 @@ ($$)
907907
$matchString = $1;
908908
$value .= substr $matchString,0,length($matchString)-1;
909909

910-
if($matchString =~ m/(\'$)/s) {
910+
if($matchString =~ m/(\'$)/s and (substr $dataField,length($matchString),1) ne "'") {
911911
# $1 runs to the end of the field value.
912912
$dataField = substr $dataField,length($matchString)+1;
913913
last;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy