diff options
Diffstat (limited to 'source3/lib/util_file.c')
-rw-r--r-- | source3/lib/util_file.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source3/lib/util_file.c b/source3/lib/util_file.c index 39c97d5c3f..d533e6428f 100644 --- a/source3/lib/util_file.c +++ b/source3/lib/util_file.c @@ -362,12 +362,13 @@ char **file_lines_load(char *fname, int *numlines) if (s[0] == '\n') i++; } - ret = (char **)malloc(sizeof(ret[0])*(i+1)); + ret = (char **)malloc(sizeof(ret[0])*(i+2)); if (!ret) { free(p); return NULL; } - *numlines = i; + memset(ret, 0, sizeof(ret[0])*(i+2)); + if (numlines) *numlines = i; ret[0] = p; for (s = p, i=0; s < p+size; s++) { @@ -391,3 +392,4 @@ void file_lines_free(char **lines) free(lines[0]); free(lines); } + |