diff options
Diffstat (limited to 'src/admin/edit')
| -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"); |
