From 30b1bc77d2cfea0a593ecead8e392e468b40430c Mon Sep 17 00:00:00 2001 From: Corey Farrell Date: Sun, 30 Oct 2016 14:33:12 -0400 Subject: vector: Prevent NULL argument to memcpy. Headers declare that memcpy does not accept NULL argument for the first two parameters. Add a conditional block to prevent memcpy and ast_free from running on vectors with NULL element array. ASTERISK-26526 #close Change-Id: I988a476bb5fcfcbd3f6d6c6b3e7769e4f9629b71 --- include/asterisk/vector.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/include/asterisk/vector.h b/include/asterisk/vector.h index 4306670e7..6b4e63242 100644 --- a/include/asterisk/vector.h +++ b/include/asterisk/vector.h @@ -172,9 +172,11 @@ typeof((vec)->elems) new_elems = ast_calloc(1, \ new_max * sizeof(*new_elems)); \ if (new_elems) { \ - memcpy(new_elems, (vec)->elems, \ - (vec)->current * sizeof(*new_elems)); \ - ast_free((vec)->elems); \ + if ((vec)->elems) { \ + memcpy(new_elems, (vec)->elems, \ + (vec)->current * sizeof(*new_elems)); \ + ast_free((vec)->elems); \ + } \ (vec)->elems = new_elems; \ (vec)->max = new_max; \ } else { \ -- cgit v1.2.3