X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Fdoalloc.c;h=e3b1a2e96c1bf378f2c0f70c8110762187ecfbb5;hp=0bda12cae8be07c4fce3661a583e5e557d1994b9;hb=312665d3aaaf5d8e3ba34d80fdd650abf758272a;hpb=1f7a36fe16b11bb4aab51be89bbc1b0f75936b78 diff --git a/ncurses/tinfo/doalloc.c b/ncurses/tinfo/doalloc.c index 0bda12ca..e3b1a2e9 100644 --- a/ncurses/tinfo/doalloc.c +++ b/ncurses/tinfo/doalloc.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright 2020 Thomas E. Dickey * + * Copyright 2020,2021 Thomas E. Dickey * * Copyright 1998-2002,2012 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -40,15 +40,18 @@ #include -MODULE_ID("$Id: doalloc.c,v 1.13 2020/08/30 00:27:15 tom Exp $") +MODULE_ID("$Id: doalloc.c,v 1.14 2021/04/24 23:43:39 tom Exp $") void * _nc_doalloc(void *oldp, size_t amount) { void *newp; - if (oldp != 0) { - if ((newp = realloc(oldp, amount)) == 0) { + if (oldp != NULL) { + if (amount == 0) { + free(oldp); + newp = NULL; + } else if ((newp = realloc(oldp, amount)) == 0) { free(oldp); errno = ENOMEM; /* just in case 'free' reset */ }