Thanks for the backtrace. Unfortunately the binary did not have the
symbol table and did not give me usefull info. BTW while looking at
the code, I found a nasty bug with pgpool-II which may or may not
cause the bug. If user name is long(32 bytes), pgpool-II will crash.
If this is the case, attached will fix it.  If this does not work, can
you please run pgpool with -d (debug)option which might give us
usefull information.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

> Tatsuo,
> 
> Many thanks for these steps.
> 
> I hope it means something to you.  Please let me know if I can do
> anything else.
> 
> Best regards
> 
> Rob
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp
Index: pool_passwd.c
===================================================================
RCS file: /cvsroot/pgpool/pgpool-II/pool_passwd.c,v
retrieving revision 1.1
diff -c -r1.1 pool_passwd.c
*** pool_passwd.c	27 Jun 2010 23:18:11 -0000	1.1
--- pool_passwd.c	25 Nov 2010 01:35:56 -0000
***************
*** 147,153 ****
  char *pool_get_passwd(char *username)
  {
  	int c;
! 	char name[32];
  	static char passwd[POOL_PASSWD_LEN+1];
  	char *p;
  	int readlen;
--- 147,153 ----
  char *pool_get_passwd(char *username)
  {
  	int c;
! 	char name[33];
  	static char passwd[POOL_PASSWD_LEN+1];
  	char *p;
  	int readlen;
***************
*** 166,172 ****
  		p = name;
  		readlen = 0;
  
! 		while (readlen < sizeof(name))
  		{
  			c = fgetc(passwd_fd);
  			if (c == EOF)
--- 166,172 ----
  		p = name;
  		readlen = 0;
  
! 		while (readlen < (sizeof(name)-1))
  		{
  			c = fgetc(passwd_fd);
  			if (c == EOF)
_______________________________________________
Pgpool-general mailing list
[email protected]
http://pgfoundry.org/mailman/listinfo/pgpool-general

Reply via email to