*** pgsql/src/interfaces/libpq/fe-connect.c 2009/07/24 17:58:31 1.376 --- pgsql/src/interfaces/libpq/fe-connect.c 2009/09/27 03:43:10 1.377 *************** *** 8,14 **** * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.375 2009/06/11 14:49:13 momjian Exp $ * *------------------------------------------------------------------------- */ --- 8,14 ---- * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/interfaces/libpq/fe-connect.c,v 1.376 2009/07/24 17:58:31 tgl Exp $ * *------------------------------------------------------------------------- */ *************** connectDBStart(PGconn *conn) *** 817,823 **** --- 817,832 ---- /* Set up port number as a string */ if (conn->pgport != NULL && conn->pgport[0] != '\0') + { portnum = atoi(conn->pgport); + if (portnum < 1 || portnum > 65535) + { + appendPQExpBuffer(&conn->errorMessage, + libpq_gettext("invalid port number: \"%s\"\n"), + conn->pgport); + goto connect_errReturn; + } + } else portnum = DEF_PGPORT; snprintf(portstr, sizeof(portstr), "%d", portnum);