diff --git a/caddytest/integration/caddyfile_adapt/file_server_file_limit_not_integer.caddyfiletest b/caddytest/integration/caddyfile_adapt/file_server_file_limit_not_integer.caddyfiletest new file mode 100644 index 000000000..eabb21058 --- /dev/null +++ b/caddytest/integration/caddyfile_adapt/file_server_file_limit_not_integer.caddyfiletest @@ -0,0 +1,9 @@ +:80 + +file_server { + browse { + file_limit notanint + } +} +---------- +file_limit should have an integer value diff --git a/caddytest/integration/caddyfile_adapt/file_server_file_limit_partial.caddyfiletest b/caddytest/integration/caddyfile_adapt/file_server_file_limit_partial.caddyfiletest new file mode 100644 index 000000000..939d36c1a --- /dev/null +++ b/caddytest/integration/caddyfile_adapt/file_server_file_limit_partial.caddyfiletest @@ -0,0 +1,9 @@ +:80 + +file_server { + browse { + file_limit 12abc + } +} +---------- +file_limit should have an integer value diff --git a/modules/caddyhttp/fileserver/caddyfile.go b/modules/caddyhttp/fileserver/caddyfile.go index 4000690b9..7d9e6f4d8 100644 --- a/modules/caddyhttp/fileserver/caddyfile.go +++ b/modules/caddyhttp/fileserver/caddyfile.go @@ -139,7 +139,10 @@ func (fsrv *FileServer) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { if len(fileLimit) != 1 { return d.Err("file_limit should have an integer value") } - val, _ := strconv.Atoi(fileLimit[0]) + val, err := strconv.Atoi(fileLimit[0]) + if err != nil { + return d.Err("file_limit should have an integer value") + } if fsrv.Browse.FileLimit != 0 { return d.Err("file_limit is already enabled") }