ref: 886a60cfed3741be9dc78b6eb4afdaedb88d6ed3
parent: 46473dabaa54037f2d0376653dfab75ff3c03301
author: Noam Preil <[email protected]>
date: Thu Apr 7 12:04:22 EDT 2022
gs: prevent double-free
--- a/op.c
+++ b/op.c
@@ -1258,12 +1258,14 @@
pagegsclean(Page *p)
{
int i;
- p->GSactive = nil;
- for(i = 0; i < p->nGS; i += 1)
- gsfree(p->GS[i]);
- free(p->GS);
- p->GS = nil;
- p->nGS = 0;
+ if(p->GSactive != nil){
+ p->GSactive = nil;
+ for(i = 0; i < p->nGS; i += 1)
+ gsfree(p->GS[i]);
+ free(p->GS);
+ p->GS = nil;
+ p->nGS = 0;
+ }
}
static int