Skip to content

Commit b1e040e

Browse files
authored
Sanitize parsing of kwargs to handle quote and backslash characters (#40)
1 parent 9dbc6b9 commit b1e040e

File tree

2 files changed

+2
-3
lines changed

2 files changed

+2
-3
lines changed

Diff for: pgdb.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1662,10 +1662,9 @@ def connect(dsn=None,
16621662
value = str(value)
16631663
if not value or ' ' in value:
16641664
value = "'%s'" % (value.replace(
1665-
"'", "\\'").replace('\\', '\\\\'),)
1665+
'\\', '\\\\').replace("'", "\\'"))
16661666
dbname.append('%s=%s' % (kw, value))
16671667
dbname = ' '.join(dbname)
1668-
16691668
# open the connection
16701669
cnx = _connect(dbname, dbhost, dbport, dbopt, dbuser, dbpasswd)
16711670
return Connection(cnx)

Diff for: tests/test_dbapi20.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ def test_version(self):
8080
self.assertEqual(pgdb.__version__, v)
8181

8282
def test_connect_kwargs(self):
83-
application_name = 'PyGreSQL DB API 2.0 Test'
83+
application_name = 'PyGreSQL DB API 2.0 Test with\' quote and \\\\backslash'
8484
self.connect_kw_args['application_name'] = application_name
8585
con = self._connect()
8686
cur = con.cursor()

0 commit comments

Comments
 (0)