diff --git a/include/asterisk/vector.h b/include/asterisk/vector.h index c74f0a89b5866c8a37a525c29801ae65ab28e9db..83732e7c8ea5d0babae9352c83d3a9b37f183937 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 { \