diff options
| author | John Carr <jfc@mit.edu> | 1992-02-23 12:04:11 +0000 |
|---|---|---|
| committer | John Carr <jfc@mit.edu> | 1992-02-23 12:04:11 +0000 |
| commit | 640497bb6d07a316400e7583dce58b8b91187d7c (patch) | |
| tree | 02a1dfda64c96ab9303f7f53853d3c695401d195 /src/admin | |
| parent | 4b483bf9ef1adaf3998729f2e2f6957bcfb0d626 (diff) | |
| download | krb5-640497bb6d07a316400e7583dce58b8b91187d7c.tar.gz krb5-640497bb6d07a316400e7583dce58b8b91187d7c.tar.xz krb5-640497bb6d07a316400e7583dce58b8b91187d7c.zip | |
Improve error checking
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2209 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/admin')
| -rw-r--r-- | src/admin/edit/dump.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/admin/edit/dump.c b/src/admin/edit/dump.c index 25b001cd0..0727d27c4 100644 --- a/src/admin/edit/dump.c +++ b/src/admin/edit/dump.c @@ -244,10 +244,18 @@ void load_db(argc, argv) goto error_out; } for (;;) { + int nitems; + lineno++; memset((char *)&entry, 0, sizeof(entry)); - if (fscanf(f,"%d\t%d\t", &name_len, &mod_name_len) == EOF) + nitems = fscanf(f,"%d\t%d\t", &name_len, &mod_name_len); + if (nitems == EOF) break; + if (nitems != 2) { + fprintf(stderr, "Couldn't parse line #%d\n", lineno); + load_error++; + break; + } if (!(name = malloc(name_len+1))) { com_err(argv[0], errno, "While allocating space for name"); |
