Commit Diff
Diff:
102d2e9cce03e15fa001f4ee80862803c430b81a
709f4c94471b5b910557420ab9bddb677c229100
Commit:
709f4c94471b5b910557420ab9bddb677c229100
Tree:
c4a9dceffc8e98acea506b0a938ee4d89f2fe40a
Author:
Omar Polo <op@omarpolo.com>
Date:
Thu Feb 4 20:04:12 2021 UTC
Message:
alter the string, don't advance pointer

if we advance the pointer, we crash during reload due to an invalid
address given to free. altering the string is the way.
commit - 102d2e9cce03e15fa001f4ee80862803c430b81a
commit + 709f4c94471b5b910557420ab9bddb677c229100
blob - 35742c81f4888e498a11b7c1bf5f59dd6796b4b3
blob + 4e1bc4b71aae42603160f9476f38c704719ff8f0
--- parse.y
+++ parse.y
@@ -115,10 +115,10 @@ servopt : TCERT TSTRING { host->cert = ensure_absolu
| TKEY TSTRING { host->key = ensure_absolute_path($2); }
| TROOT TSTRING { host->dir = ensure_absolute_path($2); }
| TCGI TSTRING {
- host->cgi = $2;
/* drop the starting '/', if any */
- if (*host->cgi == '/')
- host->cgi++;
+ if (*$2 == '/')
+ memmove($2, $2+1, strlen($2));
+ host->cgi = $2;
}
| locopt
;
Omar Polo