summaryrefslogtreecommitdiffstats
path: root/source/lib/util_file.c
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>2000-08-18 05:56:19 +0000
committerLuke Leighton <lkcl@samba.org>2000-08-18 05:56:19 +0000
commit24e0c8ef70dc59bfaaa113c3d44befbccbcba15f (patch)
treec3c8c53a5a5c19d8103e425bd59a64ead0f76aa7 /source/lib/util_file.c
parentfacef51be4e3f3be75613f39c8dfedfa7410552c (diff)
downloadsamba-24e0c8ef70dc59bfaaa113c3d44befbccbcba15f.tar.gz
samba-24e0c8ef70dc59bfaaa113c3d44befbccbcba15f.tar.xz
samba-24e0c8ef70dc59bfaaa113c3d44befbccbcba15f.zip
getfileline() - line with length of zero -> filebuf[strlen(filebuf)-1]
is NOT ok.
Diffstat (limited to 'source/lib/util_file.c')
-rw-r--r--source/lib/util_file.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/source/lib/util_file.c b/source/lib/util_file.c
index 194fb7ae497..50bd85e6e37 100644
--- a/source/lib/util_file.c
+++ b/source/lib/util_file.c
@@ -217,21 +217,24 @@ int getfileline(void *vp, char *linebuf, int linebuf_size)
*/
linebuf_len = strlen(linebuf);
- if (linebuf[linebuf_len - 1] != '\n')
+ if (linebuf_len > 0)
{
- c = '\0';
- while (!ferror(fp) && !feof(fp))
+ if (linebuf[linebuf_len - 1] != '\n')
{
- c = fgetc(fp);
- if (c == '\n')
+ c = '\0';
+ while (!ferror(fp) && !feof(fp))
{
- break;
+ c = fgetc(fp);
+ if (c == '\n')
+ {
+ break;
+ }
}
}
- }
- else
- {
- linebuf[linebuf_len - 1] = '\0';
+ else
+ {
+ linebuf[linebuf_len - 1] = '\0';
+ }
}
#ifdef DEBUG_PASSWORD