Check for invalid puzzle file added
[wordblah.git] / wordblah.h
index 372ca60..48e1f28 100644 (file)
@@ -641,6 +641,13 @@ Puzzle load_puzzle (const char* file)
        char line[MAX_CLUE_LENGTH+10];
        fgets (line, MAX_CLUE_LENGTH + 10, infile);
        p.grid_size = atoi (line);
+       /* if puzzle is invalid or otherwise not proper grid, return an invalid
+          puzzle object */
+       if (p.grid_size == 0)
+       {
+               init_puzzle (&p, 0);
+               return p;
+       }
        fgets (line, MAX_CLUE_LENGTH + 10, infile);
        p.grid_frozen = atoi (line) == 0 ? false : true ;
        fgets (line, MAX_CLUE_LENGTH + 10, infile);