File tree Expand file tree Collapse file tree 1 file changed +12
-5
lines changed Expand file tree Collapse file tree 1 file changed +12
-5
lines changed Original file line number Diff line number Diff line change 7
7
* Portions Copyright (c) 1994, Regents of the University of California
8
8
*
9
9
* IDENTIFICATION
10
- * $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.133 2007/11/15 21:14:46 momjian Exp $
10
+ * $PostgreSQL: pgsql/src/interfaces/libpq/fe-auth.c,v 1.134 2007/12/04 13:02:53 mha Exp $
11
11
*
12
12
*-------------------------------------------------------------------------
13
13
*/
@@ -618,11 +618,18 @@ pg_SSPI_continue(PGconn *conn)
618
618
return STATUS_ERROR ;
619
619
}
620
620
621
- if (pqPacketSend (conn , 'p' ,
622
- outbuf .pBuffers [0 ].pvBuffer , outbuf .pBuffers [0 ].cbBuffer ))
621
+ /*
622
+ * If the negotiation is complete, there may be zero bytes to send. The server is
623
+ * at this point not expecting any more data, so don't send it.
624
+ */
625
+ if (outbuf .pBuffers [0 ].cbBuffer > 0 )
623
626
{
624
- FreeContextBuffer (outbuf .pBuffers [0 ].pvBuffer );
625
- return STATUS_ERROR ;
627
+ if (pqPacketSend (conn , 'p' ,
628
+ outbuf .pBuffers [0 ].pvBuffer , outbuf .pBuffers [0 ].cbBuffer ))
629
+ {
630
+ FreeContextBuffer (outbuf .pBuffers [0 ].pvBuffer );
631
+ return STATUS_ERROR ;
632
+ }
626
633
}
627
634
FreeContextBuffer (outbuf .pBuffers [0 ].pvBuffer );
628
635
}
You can’t perform that action at this time.
0 commit comments