*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.17 1996/10/28 09:05:29 bryanh Exp $
+ * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.18 1996/10/29 21:51:13 bryanh Exp $
*
* NOTES
*
send_error_reply(Port *port, const char *errormsg)
{
int rc; /* return code from sendto */
+ char *reply;
+ /* The literal reply string we put into the socket. This is a pointer
+ to storage we malloc.
+ */
char reply[201];
const struct linger linger_parm = {true, LINGER_TIME};
/* A parameter for setsockopt() that tells it to have close() block for
a while waiting for the frontend to read its outstanding messages.
*/
- snprintf(reply, sizeof(reply), "E%s", errormsg);
+ reply = malloc(strlen(errormsg)+10);
+
+ sprintf(reply, "E%s", errormsg);
rc = send(port->sock, (Addr) reply, strlen(reply)+1, /* flags */ 0);
if (rc < 0)
"Only partial error reply sent to front end.\n",
progname);
- /* Now we have to make sure frontend has a chance to see what we
+ free(reply);
+ /* Now we have to make sure frontend has a chance to see what we
just wrote.
*/
rc = setsockopt(port->sock, SOL_SOCKET, SO_LINGER,