Skip to content

🐛 fix(dnsla): 修复分页参数验证逻辑#33

Merged
eryajf merged 1 commit intomainfrom
fix_lint
Jan 6, 2026
Merged

🐛 fix(dnsla): 修复分页参数验证逻辑#33
eryajf merged 1 commit intomainfrom
fix_lint

Conversation

@eryajf
Copy link
Copy Markdown
Member

@eryajf eryajf commented Jan 6, 2026

  • 修正 pageIndex 和 pageSize 的验证条件,确保分页参数有效性

🔧 fix(export): 修复数据库连接关闭问题

  • 在 record_cert.go 中完善连接关闭逻辑,使用 defer 确保连接正确释放
  • 在端口检查函数中同样优化连接关闭处理

Summary by CodeRabbit

发布说明

  • Bug Fixes
    • 加强了分页参数的输入验证,确保数据有效性
    • 优化了连接关闭的错误处理机制,提升系统稳定性

✏️ Tip: You can customize this high-level summary in your review settings.

- 修正 pageIndex 和 pageSize 的验证条件,确保分页参数有效性

🔧 fix(export): 修复数据库连接关闭问题

- 在 record_cert.go 中完善连接关闭逻辑,使用 defer 确保连接正确释放
- 在端口检查函数中同样优化连接关闭处理
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jan 6, 2026

Walkthrough

本PR包含两个针对性的修复:NewPageOption中对分页参数实施更严格的输入验证(强制pageIndex≥1且pageSize在有效范围内),以及GetCertInfo和isPortOpen函数中的连接关闭操作的错误抑制。

Changes

聚类 / 文件 变更摘要
分页参数验证加固
dnslib/dnsla/public.go
重构NewPageOption的输入验证逻辑:pageIndex条件由≥0调整为≥1,pageSize条件改为严格范围(0, 1000],简化了验证条件并提高了约束力度。
连接关闭错误处理
pkg/export/record_cert.go
在GetCertInfo和isPortOpen中修改两处defer语句:将defer conn.Close()改为defer func() { _ = conn.Close() }(),显式忽略连接关闭产生的错误。

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

bug

Poem

🐰 小兔蹦蹦跳,参数验证更周到,
页码从一开始跑,大小限制护航好,
连接关闭不担忧,错误悄悄被忽略,
代码更稳健啦!✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 标题包含emoji和中文,涉及分页参数验证修复(dnsla)和数据库连接关闭(record_cert.go)两个不同的变更,但标题仅覆盖第一个方面。
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
✨ Finishing touches
  • 📝 Generate docstrings

📜 Recent review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 02a211d and 3d4e36d.

📒 Files selected for processing (2)
  • dnslib/dnsla/public.go
  • pkg/export/record_cert.go
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: golint
🔇 Additional comments (3)
pkg/export/record_cert.go (2)

82-82: 合理的错误抑制处理。

defer conn.Close() 改为 defer func() { _ = conn.Close() }() 是为了满足 linter 对错误处理的要求。对于已成功读取证书数据的 TLS 连接,忽略 Close() 错误是合理的做法。


161-161: 端口检查函数中的连接关闭处理正确。

在端口探测场景中,明确忽略 Close() 错误是适当的。连接仅用于检查端口可达性,没有数据传输,因此 Close() 错误不会影响检测结果。

dnslib/dnsla/public.go (1)

10-10: 正确的分页参数验证修复。

新的验证逻辑更加严格和准确:

  • pageIndex < 1:确保页码从1开始,这是标准的分页系统约定
  • pageSize <= 0 || pageSize > 1000:确保每页数量在合理范围内

这修复了之前可能允许 pageIndex == 0 的潜在bug,提升了参数验证的正确性。


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@eryajf eryajf merged commit e512ad7 into main Jan 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant