about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorJonathan Neuschäfer <j.neuschaefer@gmx.net>2023-04-08 17:19:09 +0200
committerJonathan Neuschäfer <j.neuschaefer@gmx.net>2023-04-08 17:24:02 +0200
commit0eace0212e35e9ed6ba5d084f787402406fa440c (patch)
treec506cdf82d749b6d793b04590bdd546d01029194 /src
parentc1af004451e2732b855aafb567fccbd615b5214e (diff)
downloadafl++-0eace0212e35e9ed6ba5d084f787402406fa440c.tar.gz
afl-cc: Avoid casts of string literals to char*, in definition of __AFL_INIT() etc.
With the right -W options, compilers may complain about the cast of
string literals (for PERSIST_SIG and DEFER_SIG) to (char*), and they're
right to do so, because string literals are constant. Since some
projects enable -Werror, this can lead to a broken build with afl-cc.

Let's simply cast to (const char *), which preserves the constness of
the string literal.
Diffstat (limited to 'src')
-rw-r--r--src/afl-cc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/afl-cc.c b/src/afl-cc.c
index 7b059d40..35b90a5c 100644
--- a/src/afl-cc.c
+++ b/src/afl-cc.c
@@ -1171,8 +1171,8 @@ static void edit_params(u32 argc, char **argv, char **envp) {
 
   cc_params[cc_par_cnt++] =
       "-D__AFL_LOOP(_A)="
-      "({ static volatile char *_B __attribute__((used,unused)); "
-      " _B = (char*)\"" PERSIST_SIG
+      "({ static volatile const char *_B __attribute__((used,unused)); "
+      " _B = (const char*)\"" PERSIST_SIG
       "\"; "
       "extern int __afl_connected;"
 #ifdef __APPLE__
@@ -1187,8 +1187,8 @@ static void edit_params(u32 argc, char **argv, char **envp) {
 
   cc_params[cc_par_cnt++] =
       "-D__AFL_INIT()="
-      "do { static volatile char *_A __attribute__((used,unused)); "
-      " _A = (char*)\"" DEFER_SIG
+      "do { static volatile const char *_A __attribute__((used,unused)); "
+      " _A = (const char*)\"" DEFER_SIG
       "\"; "
 #ifdef __APPLE__
       "__attribute__((visibility(\"default\"))) "