Fossil SCM

Fix a bad call to rollback when attachment saving fails due to a bad captcha.

stephan 2026-06-07 09:01 UTC attach-v2
Commit 3e32def5b20aba99e89a28fdb26fa55a2da1bbd5a305ac9e53fee11bb96c9d73
1 file changed +6 -2
+6 -2
--- src/attach.c
+++ src/attach.c
@@ -910,15 +910,19 @@
910910
}
911911
}
912912
db_end_transaction(bRollback);
913913
return;
914914
ajax_post_403:
915
- db_rollback_transaction();
915
+ if( db_transaction_nesting_depth()>0 ){
916
+ db_rollback_transaction();
917
+ }
916918
ajax_route_error(403, "Permission denied.");
917919
return;
918920
ajax_post_404:
919
- db_rollback_transaction();
921
+ if( db_transaction_nesting_depth()>0 ){
922
+ db_rollback_transaction();
923
+ }
920924
ajax_route_error(404, "Target not found.");
921925
return;
922926
}
923927
924928
/*
925929
--- src/attach.c
+++ src/attach.c
@@ -910,15 +910,19 @@
910 }
911 }
912 db_end_transaction(bRollback);
913 return;
914 ajax_post_403:
915 db_rollback_transaction();
 
 
916 ajax_route_error(403, "Permission denied.");
917 return;
918 ajax_post_404:
919 db_rollback_transaction();
 
 
920 ajax_route_error(404, "Target not found.");
921 return;
922 }
923
924 /*
925
--- src/attach.c
+++ src/attach.c
@@ -910,15 +910,19 @@
910 }
911 }
912 db_end_transaction(bRollback);
913 return;
914 ajax_post_403:
915 if( db_transaction_nesting_depth()>0 ){
916 db_rollback_transaction();
917 }
918 ajax_route_error(403, "Permission denied.");
919 return;
920 ajax_post_404:
921 if( db_transaction_nesting_depth()>0 ){
922 db_rollback_transaction();
923 }
924 ajax_route_error(404, "Target not found.");
925 return;
926 }
927
928 /*
929

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button