Index: work/polydev/test.c =================================================================== --- work/polydev/test.c (revision 8192) +++ work/polydev/test.c (revision 8193) @@ -77,6 +77,11 @@ return; } drw[cnt] = a - 'A'; + if ((pa[drw[cnt]] == NULL) || (pa[drw[cnt]]->contours == NULL)) { + fprintf(stderr, "Error: invalid index in draw: '%c': empty poly \n", a); + return; + } + update_bbox(pa[drw[cnt]]->contours, &minx, &miny, &maxx, &maxy); cnt++; arg++; @@ -251,7 +256,7 @@ if (strcmp(cmd, "polygon") == 0) { get_idx(); pa[idx] = ply_parse(arg); - if (pa[idx] == NULL) + if ((pa[idx] == NULL) || (pa[idx]->contours == NULL)) fprintf(stderr, "poly parse error\n"); } else if (strcmp(cmd, "draw") == 0)