summaryrefslogtreecommitdiffstats
path: root/lib/libssl/pqueue.c
diff options
context:
space:
mode:
authormiod <miod@openbsd.org>2014-05-18 09:39:18 +0000
committermiod <miod@openbsd.org>2014-05-18 09:39:18 +0000
commitb1e5b1d2679788c52b1513101be27be49a87e32d (patch)
treec54f98949a1d9c9af91ec973569328815f21c72f /lib/libssl/pqueue.c
parentuse reallocarray and friends. okay miod@ (diff)
downloadwireguard-openbsd-b1e5b1d2679788c52b1513101be27be49a87e32d.tar.xz
wireguard-openbsd-b1e5b1d2679788c52b1513101be27be49a87e32d.zip
No need to check for NULL before invoking free(); use calloc() when
applicable; further simplify pqueue_find(). From Dimitris Papastamos on tech@
Diffstat (limited to 'lib/libssl/pqueue.c')
-rw-r--r--lib/libssl/pqueue.c37
1 files changed, 7 insertions, 30 deletions
diff --git a/lib/libssl/pqueue.c b/lib/libssl/pqueue.c
index 99c118c3b6f..daf5e21b3ae 100644
--- a/lib/libssl/pqueue.c
+++ b/lib/libssl/pqueue.c
@@ -84,30 +84,18 @@ pitem_new(unsigned char *prio64be, void *data)
void
pitem_free(pitem *item)
{
- if (item == NULL)
- return;
-
free(item);
}
pqueue_s *
pqueue_new(void)
{
- pqueue_s *pq = (pqueue_s *)malloc(sizeof(pqueue_s));
-
- if (pq == NULL)
- return NULL;
-
- memset(pq, 0x00, sizeof(pqueue_s));
- return pq;
+ return (pqueue_s *)calloc(1, sizeof(pqueue_s));
}
void
pqueue_free(pqueue_s *pq)
{
- if (pq == NULL)
- return;
-
free(pq);
}
@@ -126,9 +114,8 @@ pqueue_insert(pqueue_s *pq, pitem *item)
/* we can compare 64-bit value in big-endian encoding
* with memcmp:-) */
int cmp = memcmp(next->priority, item->priority,
- sizeof(item->priority));
- if (cmp > 0) /* next > item */
- {
+ sizeof(item->priority));
+ if (cmp > 0) { /* next > item */
item->next = next;
if (curr == NULL)
@@ -168,23 +155,13 @@ pitem *
pqueue_find(pqueue_s *pq, unsigned char *prio64be)
{
pitem *next;
- pitem *found = NULL;
- if (pq->items == NULL)
- return NULL;
-
- for (next = pq->items; next != NULL; next = next->next) {
+ for (next = pq->items; next != NULL; next = next->next)
if (memcmp(next->priority, prio64be,
- sizeof(next->priority)) == 0) {
- found = next;
- break;
- }
- }
-
- if (!found)
- return NULL;
+ sizeof(next->priority)) == 0)
+ return next;
- return found;
+ return NULL;
}
pitem *