int len;
int sendlen;
char *p;
- int name_len;
char *name = NULL;
if (pool_write(MASTER(backend), &kind, 1))
stmt = unnamed_statement;
else
{
- name = malloc(strlen(stmt_name) + 3);
+ name = strdup(stmt_name);
if (name == NULL)
{
- pool_error("SimpleForwardToBackend: malloc failed: %s", strerror(errno));
+ pool_error("SimpleForwardToBackend: strdup failed: %s", strerror(errno));
return POOL_END;
}
- sprintf(name, "\"%s\"", stmt_name);
stmt = lookup_prepared_statement_by_statement(&prepared_list, name);
free(name);
}
- if (stmt == NULL)
- free(name);
- else if (*portal_name == '\0')
+ if (*portal_name == '\0')
unnamed_portal = stmt;
else
{
if (stmt->portal_name)
free(stmt->portal_name);
- stmt->portal_name = strdup(stmt->portal_name);
+ stmt->portal_name = strdup(portal_name);
}
}
else if (kind == 'C' && *p == 'S' && *(p + 1))
{
- name_len = strlen(p + 1) + 3;
- name = malloc(name_len);
+ name = strdup(p+1);
if (name == NULL)
{
- pool_error("SimpleForwardToBackend: malloc failed: %s", strerror(errno));
+ pool_error("SimpleForwardToBackend: strdup failed: %s", strerror(errno));
return POOL_END;
}
- sprintf(name, "\"%s\"", p + 1);
pending_function = del_prepared_list;
pending_prepared_stmt = malloc(sizeof(PreparedStatement));
if (pending_prepared_stmt == NULL)