/****************************************************************************
- * Copyright (c) 1998-2012,2013 Free Software Foundation, Inc. *
+ * Copyright (c) 1998-2013,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
#include <ctype.h>
-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.15 2017/10/23 21:19:54 tom Exp $")
/*
* _nc_make_hash_table()
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;
}
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 != '#') {
printf("#endif\n\n");
free(hash_table);
+#if NO_LEAKS
+ for (n = 0; (n < CAPTABSIZE); ++n) {
+ free((void *) name_table[n].nte_name);
+ }
+ free(name_table);
+#endif
return EXIT_SUCCESS;
}