Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

\x output blowing up


  • From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
  • To: pgsql-hackers(at)postgresql(dot)org
  • Subject: \x output blowing up
  • Date: Sat, 24 Sep 2005 23:45:08 +0200
  • Message-id: <20050924214502(dot)GD25542(at)svana(dot)org>

Hi,

On CVS tip, whenever I do \x output, it dies with an internal error in
glibc on free. If you run it under valgrind, it complains about these
lines of code:

700                {  
701                        char *my_cell = pg_local_malloc(cell_w[i] + 1);
702
703 [Inv write 1 byte]     strcpy(my_cell, *ptr);
704                        if (opt_align[i % col_count] == 'r' && opt_numeric_locale)
705                            format_numeric_locale(my_cell);
706                        if (opt_border < 2)
707                                fprintf(fout, "%s\n", my_cell);
708                        else
709 [Inv read 1 byte]              fprintf(fout, "%-s%*s |\n", my_cell, dwidth - cell_w[i], "");
710                        free(my_cell);
711                }

Now, apart from the fact that the cell width != strlen in multibyte
encodings, there must be something else because this is just "select *
from pg_proc" and there are no multiple characters there AFAIK. I can't
see it though.

Hope this helps,
-- 
Martijn van Oosterhout   <kleptog(at)svana(dot)org>   http://svana.org/kleptog/
> Patent. n. Genius is 5% inspiration and 95% perspiration. A patent is a
> tool for doing 5% of the work and then sitting around waiting for someone
> else to do the other 95% so you can sue them.

Attachment: pgpZMxSwJIJ5g.pgp
Description: PGP signature



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group