read_word = strtok(NULL, separators);
char lowercase_name[MAX_STRING];
- strcpy(lowercase_name, full_var_names[i]);
+ strncpy(lowercase_name, full_var_names[i], MAX_STRING);
+ lowercase_name[MAX_STRING - 1] = '\0';
for (int j = 0; j < strlen(lowercase_name); j++)
lowercase_name[j] = tolower(lowercase_name[j]);
char to_write[MAX_STRING];
if (snprintf(to_write, MAX_STRING, "%s=%s\n", lowercase_name, read_word) < 0) {
ERR_ERRNO("snprintf()");
+ free(read_buf);
return -1;
}
arr[i] = (char*)malloc(MAX_STRING);
if (arr[i] == NULL) {
for (int j = 0; j < i; j++)
- free(arr[i]);
+ free(arr[j]);
free(arr);
ERR_ERRNO("malloc()");
while (curr_line != NULL)
{
- strcpy(string_array[id], curr_line);
+ strncpy(string_array[id], curr_line, MAX_STRING);
+ string_array[id][MAX_STRING - 1] = '\0';
id++;
curr_line = strtok(NULL, separator);
}