Commit d46b006f authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

add_buffer_send() free()d the buffer *before* it was used! :-O

parent 033263e6
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -194,17 +194,20 @@ send_buffer *add_buffer_init(void)
 */
size_t add_buffer_send(int sockfd, struct connectdata *conn, send_buffer *in)
{
  if(in->buffer)
    free(in->buffer);
  free(in);

  size_t amount;
  if(conn->data->bits.verbose) {
    fputs("> ", conn->data->err);
    /* this data _may_ contain binary stuff */
    fwrite(in->buffer, in->size_used, 1, conn->data->err);
  }

  return ssend(sockfd, conn, in->buffer, in->size_used);
  amount = ssend(sockfd, conn, in->buffer, in->size_used);

  if(in->buffer)
    free(in->buffer);
  free(in);

  return amount;
}