Commit 8589e1fe authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

assert: avoid, use DEBUGASSERT instead!

... as it does extra checks to actually work.

Reported-by: jonrumsey at github
Fixes #1504
parent fab96291
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -784,7 +784,7 @@ static int on_begin_headers(nghttp2_session *session,
  /* This is trailer HEADERS started.  Allocate buffer for them. */
  DEBUGF(infof(data_s, "trailer field started\n"));

  assert(stream->trailer_recvbuf == NULL);
  DEBUGASSERT(stream->trailer_recvbuf == NULL);

  stream->trailer_recvbuf = Curl_add_buffer_init();
  if(!stream->trailer_recvbuf) {
@@ -1453,7 +1453,7 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
    infof(data, "%zu data bytes written\n", nread);
    if(stream->pauselen == 0) {
      DEBUGF(infof(data, "Unpaused by stream %u\n", stream->stream_id));
      assert(httpc->pause_stream_id == stream->stream_id);
      DEBUGASSERT(httpc->pause_stream_id == stream->stream_id);
      httpc->pause_stream_id = 0;

      stream->pausedata = NULL;
+7 −11
Original line number Diff line number Diff line
@@ -35,10 +35,6 @@
#include "curl_memory.h"
#include "memdebug.h"

#ifndef HAVE_ASSERT_H
#  define assert(x) Curl_nop_stmt
#endif

/*
 * Until 2011-08-17 libcurl's Memory Tracking feature also performed
 * automatic malloc and free filling operations using 0xA5 and 0x13
@@ -167,7 +163,7 @@ void *curl_domalloc(size_t wantedsize, int line, const char *source)
  struct memdebug *mem;
  size_t size;

  assert(wantedsize != 0);
  DEBUGASSERT(wantedsize != 0);

  if(countcheck("malloc", line, source))
    return NULL;
@@ -196,8 +192,8 @@ void *curl_docalloc(size_t wanted_elements, size_t wanted_size,
  struct memdebug *mem;
  size_t size, user_size;

  assert(wanted_elements != 0);
  assert(wanted_size != 0);
  DEBUGASSERT(wanted_elements != 0);
  DEBUGASSERT(wanted_size != 0);

  if(countcheck("calloc", line, source))
    return NULL;
@@ -223,7 +219,7 @@ char *curl_dostrdup(const char *str, int line, const char *source)
  char *mem;
  size_t len;

  assert(str != NULL);
  DEBUGASSERT(str != NULL);

  if(countcheck("strdup", line, source))
    return NULL;
@@ -247,7 +243,7 @@ wchar_t *curl_dowcsdup(const wchar_t *str, int line, const char *source)
  wchar_t *mem;
  size_t wsiz, bsiz;

  assert(str != NULL);
  DEBUGASSERT(str != NULL);

  if(countcheck("wcsdup", line, source))
    return NULL;
@@ -276,7 +272,7 @@ void *curl_dorealloc(void *ptr, size_t wantedsize,

  size_t size = sizeof(struct memdebug)+wantedsize;

  assert(wantedsize != 0);
  DEBUGASSERT(wantedsize != 0);

  if(countcheck("realloc", line, source))
    return NULL;
@@ -445,7 +441,7 @@ int curl_fclose(FILE *file, int line, const char *source)
{
  int res;

  assert(file != NULL);
  DEBUGDEBUGASSERT(file != NULL);

  res=fclose(file);

+2 −4
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@
 *                            | (__| |_| |  _ <| |___
 *                             \___|\___/|_| \_\_____|
 *
 * Copyright (C) 1999 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
 * Copyright (C) 1999 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
 *
 * This software is licensed as described in the file COPYING, which
 * you should have received as part of this distribution. The terms
@@ -951,9 +951,7 @@ static int dprintf_formatf(
        /* NOTE NOTE NOTE!! Not all sprintf implementations return number of
           output characters */
        (sprintf)(work, formatbuf, p->data.dnum);
#ifdef CURLDEBUG
        assert(strlen(work) <= sizeof(work));
#endif
        DEBUGASSERT(strlen(work) <= sizeof(work));
        for(fptr=work; *fptr; fptr++)
          OUTCHAR(*fptr);
      }
+1 −1
Original line number Diff line number Diff line
@@ -121,7 +121,7 @@ CURLcode Curl_rand(struct Curl_easy *data, unsigned char *rnd, size_t num)
{
  CURLcode result = CURLE_BAD_FUNCTION_ARGUMENT;

  assert(num > 0);
  DEBUGASSERT(num > 0);

  while(num) {
    unsigned int r;