As suggested by Bruce Mojiman I'm working on 
substitute some strdup not checked with xstrdup.

I seen that in the backend source tree there is no
xstrdup ( there is one in bin/psql tree) , 
I wrote it and inserted temporarelly in 
backend/utils/mmgr/aset.c

I don't know exactly how work the error report 
mechanism sso before to submit a wrong implementation
this was what I wrote:

char *xstrdup(const char *string)
{
    char * ret_value;

    if ( !string ) {
        elog(ERROR, "xstrdup called with a NULL pointer");
    }

    ret_value = strdup( string );

    if ( !ret_value ) {
        ereport(FATAL,
                                (errcode(ERRCODE_OUT_OF_MEMORY),
                                 errmsg("strdup out of memory")));
    }

    return ret_value;
}

if this implementation is ok where is the best place ?

Regards
Gaetano Mendola




---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to