} } else { if (gs->local_colormap) { PR_FREEIF(gs->local_colormap); gs->local_colormap = NULL;
ic->src_header->color_space->cmap.map = NULL;
il_gif_abort(il_container *ic){    if (ic->ds)     {        gif_struct *gs = (gif_struct*) ic->ds;        /* Clear any pending timeouts */        if (gs->delay_timeout) {            ic->imgdcb->ImgDCBClearTimeout(gs->delay_timeout);            gs->delay_timeout = NULL;        }            PR_FREEIF(gs->rowbuf);        PR_FREEIF(gs->rgbrow);        PR_FREEIF(gs->prefix);        PR_FREEIF(gs->suffix);        PR_FREEIF(gs->stack);        PR_FREEIF(gs->hold);        /* Free the colormap that is not in use.  The other one, if         * present, will be freed when the image container is         * destroyed.         */                if (gs->is_local_colormap_defined) {            if (gs->global_colormap) {                PR_FREEIF(gs->global_colormap);                gs->global_colormap = NULL;            }        } else {            if (gs->local_colormap) {                PR_FREEIF(gs->local_colormap);                gs->local_colormap = NULL;            }        }               PR_FREEIF(gs);        ic->ds = 0;    }}