X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=ncurses%2Ftinfo%2Fmake_hash.c;h=37ac7651424c779a8bd0586ca3aa25c02e488ce6;hp=83e8a6881d07bb710a72cd2d79754367b2babdb9;hb=90d42867e1296bc79021006a92032c76e59068b6;hpb=2403eaecbe5b488358485a3deb351ab552af8791 diff --git a/ncurses/tinfo/make_hash.c b/ncurses/tinfo/make_hash.c index 83e8a688..37ac7651 100644 --- a/ncurses/tinfo/make_hash.c +++ b/ncurses/tinfo/make_hash.c @@ -44,7 +44,7 @@ #include -MODULE_ID("$Id: make_hash.c,v 1.11 2013/01/26 22:00:11 tom Exp $") +MODULE_ID("$Id: make_hash.c,v 1.13 2013/09/28 20:55:47 tom Exp $") /* * _nc_make_hash_table() @@ -69,10 +69,11 @@ failed(const char *s) static char * strmalloc(char *s) { - char *result = malloc(strlen(s) + 1); + size_t need = strlen(s) + 1; + char *result = malloc(need); if (result == 0) - failed("strmalloc"); - strcpy(result, s); + failed("strmalloc"); + _nc_STRCPY(result, s, need); return result; } @@ -155,7 +156,7 @@ parse_columns(char *buffer) int col = 0; - if (list == 0 && (list = typeCalloc(char *, MAX_COLUMNS)) == 0) + if (list == 0 && (list = typeCalloc(char *, (MAX_COLUMNS + 1))) == 0) return (0); if (*buffer != '#') {