mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-09 08:10:09 +08:00
Fix dbmirror for new backslash escaping:
Martin Pitt [2006-06-16 0:15 +0200]: > 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? Martin Pitt http://www.piware.de
This commit is contained in:
parent
33215c2b78
commit
acf40f39be
@ -33,7 +33,7 @@
|
||||
#
|
||||
#
|
||||
##############################################################################
|
||||
# $PostgreSQL: pgsql/contrib/dbmirror/DBMirror.pl,v 1.10.4.1 2006/05/21 19:57:38 momjian Exp $
|
||||
# $PostgreSQL: pgsql/contrib/dbmirror/DBMirror.pl,v 1.10.4.2 2006/07/06 02:03:00 momjian Exp $
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@ -907,7 +907,7 @@ sub extractData($$) {
|
||||
$matchString = $1;
|
||||
$value .= substr $matchString,0,length($matchString)-1;
|
||||
|
||||
if($matchString =~ m/(\'$)/s) {
|
||||
if($matchString =~ m/(\'$)/s and (substr $dataField,length($matchString),1) ne "'") {
|
||||
# $1 runs to the end of the field value.
|
||||
$dataField = substr $dataField,length($matchString)+1;
|
||||
last;
|
||||
|
Loading…
Reference in New Issue
Block a user