/*
- * Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
+ * Copyright 2015-2018 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the OpenSSL license (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
* https://www.openssl.org/source/license.html
*/
-#include <assert.h>
+#include "internal/cryptlib.h"
#include "packet_locl.h"
+#include <openssl/sslerr.h>
#define DEFAULT_BUF_SIZE 256
int WPACKET_reserve_bytes(WPACKET *pkt, size_t len, unsigned char **allocbytes)
{
/* Internal API, so should not fail */
- assert(pkt->subs != NULL && len != 0);
- if (pkt->subs == NULL || len == 0)
+ if (!ossl_assert(pkt->subs != NULL && len != 0))
return 0;
if (pkt->maxsize - pkt->written < len)
pkt->curr = 0;
pkt->written = 0;
- pkt->subs = OPENSSL_zalloc(sizeof(*pkt->subs));
- if (pkt->subs == NULL)
+ if ((pkt->subs = OPENSSL_zalloc(sizeof(*pkt->subs))) == NULL) {
+ SSLerr(SSL_F_WPACKET_INTERN_INIT_LEN, ERR_R_MALLOC_FAILURE);
return 0;
+ }
if (lenbytes == 0)
return 1;
size_t max = maxmaxsize(lenbytes);
/* Internal API, so should not fail */
- assert(buf != NULL && len > 0);
- if (buf == NULL || len == 0)
+ if (!ossl_assert(buf != NULL && len > 0))
return 0;
pkt->staticbuf = buf;
int WPACKET_init_len(WPACKET *pkt, BUF_MEM *buf, size_t lenbytes)
{
/* Internal API, so should not fail */
- assert(buf != NULL);
- if (buf == NULL)
+ if (!ossl_assert(buf != NULL))
return 0;
pkt->staticbuf = NULL;
int WPACKET_set_flags(WPACKET *pkt, unsigned int flags)
{
/* Internal API, so should not fail */
- assert(pkt->subs != NULL);
- if (pkt->subs == NULL)
+ if (!ossl_assert(pkt->subs != NULL))
return 0;
pkt->subs->flags = flags;
{
WPACKET_SUB *sub;
- assert(pkt->subs != NULL);
- if (pkt->subs == NULL)
+ if (!ossl_assert(pkt->subs != NULL))
return 0;
for (sub = pkt->subs; sub != NULL; sub = sub->parent) {
unsigned char *lenchars;
/* Internal API, so should not fail */
- assert(pkt->subs != NULL);
- if (pkt->subs == NULL)
+ if (!ossl_assert(pkt->subs != NULL))
return 0;
- sub = OPENSSL_zalloc(sizeof(*sub));
- if (sub == NULL)
+ if ((sub = OPENSSL_zalloc(sizeof(*sub))) == NULL) {
+ SSLerr(SSL_F_WPACKET_START_SUB_PACKET_LEN__, ERR_R_MALLOC_FAILURE);
return 0;
+ }
sub->parent = pkt->subs;
pkt->subs = sub;
unsigned char *data;
/* Internal API, so should not fail */
- assert(size <= sizeof(unsigned int));
-
- if (size > sizeof(unsigned int)
+ if (!ossl_assert(size <= sizeof(unsigned int))
|| !WPACKET_allocate_bytes(pkt, size, &data)
|| !put_value(data, val, size))
return 0;
size_t lenbytes;
/* Internal API, so should not fail */
- assert(pkt->subs != NULL);
- if (pkt->subs == NULL)
+ if (!ossl_assert(pkt->subs != NULL))
return 0;
/* Find the WPACKET_SUB for the top level */
int WPACKET_get_total_written(WPACKET *pkt, size_t *written)
{
/* Internal API, so should not fail */
- assert(written != NULL);
- if (written == NULL)
+ if (!ossl_assert(written != NULL))
return 0;
*written = pkt->written;
int WPACKET_get_length(WPACKET *pkt, size_t *len)
{
/* Internal API, so should not fail */
- assert(pkt->subs != NULL && len != NULL);
- if (pkt->subs == NULL || len == NULL)
+ if (!ossl_assert(pkt->subs != NULL && len != NULL))
return 0;
*len = pkt->written - pkt->subs->pwritten;