X-Git-Url: https://git.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/e1ad67eaf252b9cf0e0aef9f02c13ce74d6ae546..e1778858ddc53a6a82e8ee24f02e6b673687f69a:/client/reveng/reveng.c diff --git a/client/reveng/reveng.c b/client/reveng/reveng.c index 5cda62d1..8a669e90 100644 --- a/client/reveng/reveng.c +++ b/client/reveng/reveng.c @@ -1,9 +1,9 @@ /* reveng.c - * Greg Cook, 9/Apr/2015 + * Greg Cook, 27/Jun/2016 */ -/* CRC RevEng, an arbitrary-precision CRC calculator and algorithm finder - * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015 Gregory Cook +/* CRC RevEng: arbitrary-precision CRC calculator and algorithm finder + * Copyright (C) 2010, 2011, 2012, 2013, 2014, 2015, 2016 Gregory Cook * * This file is part of CRC RevEng. * @@ -18,7 +18,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with CRC RevEng. If not, see . + * along with CRC RevEng. If not, see . */ /* 2013-09-16: calini(), calout() work on shortest argument @@ -473,9 +473,12 @@ chkres(int *resc, model_t **result, const poly_t divisor, const poly_t init, int pfree(&xor); if(aptr != eptr) return; - if(!(*result = realloc(*result, ++*resc * sizeof(model_t)))) + *result = realloc(*result, ++*resc * sizeof(model_t)); + if (!*result) { uerror("cannot reallocate result array"); - + return; + } + rptr = *result + *resc - 1; rptr->spoly = pclone(divisor); rptr->init = pclone(init);