Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
Mirrored from https://github.com/Slazee/caddy.git
Synced Nov 11, 06:00 UTC
fileserver: reject non-integer browse file_limit (#7988)
Sash committed
Sep 4, 2026 at 07:37 UTC
97a08d82511b3f574d04d7ff637112c75326df13
3 files changed
+22
-1
caddytest/integration/caddyfile_adapt/file_server_file_limit_not_integer.caddyfiletest
new
+9
@@ -0,0 +1,9 @@
1
+:80
2
+
3
+file_server {
4
+ browse {
5
+ file_limit notanint
6
+ }
7
+}
8
+----------
9
+file_limit should have an integer value
caddytest/integration/caddyfile_adapt/file_server_file_limit_partial.caddyfiletest
new
+9
@@ -0,0 +1,9 @@
1
+:80
2
+
3
+file_server {
4
+ browse {
5
+ file_limit 12abc
6
+ }
7
+}
8
+----------
9
+file_limit should have an integer value
modules/caddyhttp/fileserver/caddyfile.go
+4
-1
@@ -139,7 +139,10 @@ func (fsrv *FileServer) UnmarshalCaddyfile(d *caddyfile.Dispenser) error {
139
if len(fileLimit) != 1 {
140
return d.Err("file_limit should have an integer value")
141
}
142
- val, _ := strconv.Atoi(fileLimit[0])
142
+ val, err := strconv.Atoi(fileLimit[0])
143
+ if err != nil {
144
+ return d.Err("file_limit should have an integer value")
145
+ }
146
if fsrv.Browse.FileLimit != 0 {
147
return d.Err("file_limit is already enabled")
148
}