]> git.xolatile.top Git - emil-bake.git/commitdiff
fixed bug where find region wouldn't detect a NULL return from map and thus segv...
authorEmil <emilwilliams@tuta.io>
Wed, 11 Oct 2023 11:16:07 +0000 (11:16 +0000)
committerEmil <emilwilliams@tuta.io>
Wed, 11 Oct 2023 11:16:07 +0000 (11:16 +0000)
baked.c

diff --git a/baked.c b/baked.c
index 5f87522945e9e2b7ef16bc9c1f3cc2408dd59ce3..912dc653977eeb650a3cbb90de653797ad7fc2b8 100644 (file)
--- a/baked.c
+++ b/baked.c
@@ -48,7 +48,7 @@
 static char * g_filename, * g_short, * g_all;
 
 static char *
-map(const char * fn, size_t * len)
+map(char * fn, size_t * len)
 {
   struct stat s;
   int fd;
@@ -68,10 +68,10 @@ map(const char * fn, size_t * len)
   return addr;
 }
 
-static const char *
-find(const char * x, const char * buf, const size_t max, const size_t min)
+static char *
+find(char * x, char * buf, size_t max, size_t min)
 {
-  const char * start = buf;
+  char * start = buf;
   for (; *buf; ++buf)
   {
     if (max - (buf - start) > min && !strncmp(buf, x, min))
@@ -81,20 +81,20 @@ find(const char * x, const char * buf, const size_t max, const size_t min)
 }
 
 static char *
-find_region(const char * fn)
+find_region(char * fn)
 {
   size_t len = 0;
   char * buf = NULL, * addr;
-  const char * start, * stop;
+  char * start, * stop;
   addr = map(fn, &len);
-  if (addr != MAP_FAILED)
+  if ((ptrdiff_t) addr > 0)
   {
     start = find(START, addr, len, strlen(START));
 #ifdef OTHER_START
     if (!start)
     {
       start = find(OTHER_START, addr, len, strlen(OTHER_START));
-      start = (const char *) /* DON'T QUESTION IT */
+      start = (char *) /* DON'T QUESTION IT */
         ((ptrdiff_t) (start - strlen(START) + strlen(OTHER_START)) * (start != 0));
     }
 #endif /* OTHER_START */
@@ -163,7 +163,7 @@ root(char * root)
 }
 
 static char *
-insert(const char * new, char * str, size_t offset, size_t shift)
+insert(char * new, char * str, size_t offset, size_t shift)
 {
   size_t len, max;
   local_assert(new, str);
@@ -296,7 +296,7 @@ strip(char * buf)
 }
 
 static int
-run(const char * buf)
+run(char * buf)
 {
   fputs("Output:\n", stderr);
   root(g_filename);