Hi!
>       for (i = 0, p = buffer.data; i < buffer.data_length; i++, p++)
>               *p = getc(fp);
>       fclose(fp);
>  
> +     return_buffer = malloc(buffer.data_length);
> +     if (!return_buffer) {
> +             fprintf(stderr, "malloc failed for return_buffer\n");
> +             free(buffer.data);
> +             exit(1);
> +     }
> +
>       rc = callrpc(server, program, version, 1, (xdrproc_t)xdr_send_data,
> -                     (char *)&buffer, (xdrproc_t)xdr_receive_data,
> -                     (char *)&return_buffer);
> -     do_compare(rc, "callrpc", &buffer, return_buffer->data);
> +                     buffer.data, (xdrproc_t)xdr_receive_data,
> +                     return_buffer);
> +     do_compare(rc, "callrpc", &buffer, return_buffer);

As far as I can see the struct buffer is allocated in the
xdr_receive_data function in lib/librpc01.c.

So passing a pointer to a pointer to the struct buffer is right thing to
do here.

Or am I mistaken?

-- 
Cyril Hrubis
chru...@suse.cz

------------------------------------------------------------------------------
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to