Re: C Function - Mailing list pgsql-interfaces

From Peter Eisentraut
Subject Re: C Function
Date
Msg-id Pine.LNX.4.30.0107171826320.678-100000@peter.localdomain
Whole thread Raw
In response to C Function  (feblec <carvalho@ig.com.br>)
List pgsql-interfaces
feblec writes:

> #include <pgsql/postgres.h>
> #include <string.h>
>
> unsigned char *fernando(unsigned char *texto)
> {
>     char *resultp = palloc(strlen(texto)+5);

texto will not be null-terminated.  Read the examples in the documentation
again, e.g.,

http://www.de.postgresql.org/users-lounge/docs/7.0/postgres/xfunc19022.htm

>     resultp = texto;
>     strcat(resultp," mais");
>     return resultp;
> }
>
> gcc -shared fernando.c -o fernando.so
>
> CREATE FUNCTION fernando (bpchar) RETURNS bpchar
>   AS '/u/src/tef/fernando.so' LANGUAGE 'c';
> CREATE
> SELECT fernando ('Teste');
> ERROR:  Memory exhausted in AllocSetAlloc(287341377)

-- 
Peter Eisentraut   peter_e@gmx.net   http://funkturm.homeip.net/~peter



pgsql-interfaces by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: WIN32 NON-BLOCKING
Next
From: Peter Eisentraut
Date:
Subject: Re: Issues with using 7.1 frontend, 7.0 backend?