Fossil SCM
Resolved crash in (hook delete all) reported in [/forumpost/8a3a2f7df6 | forum post 8a3a2f7df6].
Commit
faa39ea31a7921319089f8d2d6e6f4f0f140bed2f0bc5330e380790386f12011
Parent
c0269e34774f0f2…
1 file changed
+2
+2
| --- src/hook.c | ||
| +++ src/hook.c | ||
| @@ -329,11 +329,13 @@ | ||
| 329 | 329 | "INSERT OR IGNORE INTO config(name,value) VALUES('hooks','[]');\n" |
| 330 | 330 | ); |
| 331 | 331 | for(i=3; i<g.argc; i++){ |
| 332 | 332 | const char *zId = g.argv[i]; |
| 333 | 333 | if( strcmp(zId,"all")==0 ){ |
| 334 | + db_unprotect(PROTECT_ALL); | |
| 334 | 335 | db_set("hooks","[]", 0); |
| 336 | + db_protect_pop(); | |
| 335 | 337 | break; |
| 336 | 338 | } |
| 337 | 339 | if( sqlite3_strglob("*[^0-9]*", g.argv[i])==0 ){ |
| 338 | 340 | fossil_fatal("not a valid ID: \"%s\"", g.argv[i]); |
| 339 | 341 | } |
| 340 | 342 |
| --- src/hook.c | |
| +++ src/hook.c | |
| @@ -329,11 +329,13 @@ | |
| 329 | "INSERT OR IGNORE INTO config(name,value) VALUES('hooks','[]');\n" |
| 330 | ); |
| 331 | for(i=3; i<g.argc; i++){ |
| 332 | const char *zId = g.argv[i]; |
| 333 | if( strcmp(zId,"all")==0 ){ |
| 334 | db_set("hooks","[]", 0); |
| 335 | break; |
| 336 | } |
| 337 | if( sqlite3_strglob("*[^0-9]*", g.argv[i])==0 ){ |
| 338 | fossil_fatal("not a valid ID: \"%s\"", g.argv[i]); |
| 339 | } |
| 340 |
| --- src/hook.c | |
| +++ src/hook.c | |
| @@ -329,11 +329,13 @@ | |
| 329 | "INSERT OR IGNORE INTO config(name,value) VALUES('hooks','[]');\n" |
| 330 | ); |
| 331 | for(i=3; i<g.argc; i++){ |
| 332 | const char *zId = g.argv[i]; |
| 333 | if( strcmp(zId,"all")==0 ){ |
| 334 | db_unprotect(PROTECT_ALL); |
| 335 | db_set("hooks","[]", 0); |
| 336 | db_protect_pop(); |
| 337 | break; |
| 338 | } |
| 339 | if( sqlite3_strglob("*[^0-9]*", g.argv[i])==0 ){ |
| 340 | fossil_fatal("not a valid ID: \"%s\"", g.argv[i]); |
| 341 | } |
| 342 |