diff -r 0a5e583393e1 -r 889dc38157ac librazor/atomic.c --- a/librazor/atomic.c Tue Sep 09 15:27:12 2014 +0100 +++ b/librazor/atomic.c Mon Mar 05 20:35:27 2018 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2011-2012 J. Ali Harlow + * Copyright (C) 2011-2012, 2016 J. Ali Harlow * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,9 +23,6 @@ #include #include #include -#include -#include -#include #include #include @@ -81,8 +78,15 @@ razor_atomic_propagate_error(struct razor_atomic *atomic, struct razor_error *error, const char *summary) { - if (!atomic->error) - atomic->error = razor_error_dup(error, summary); + if (!atomic->error) { + if (!summary) { + atomic->error = error; + return; + } else + atomic->error = razor_error_dup(error, summary); + } + + razor_error_free(error); } RAZOR_EXPORT int