Skip to content

fix: 修复全仓库代码审查发现的 bug - #47

Merged
houko merged 4 commits into
mainfrom
fix/code-review-bugs
Sep 14, 2026
Merged

houko merged 4 commits into
mainfrom
fix/code-review-bugs

Conversation

@houko

@houko houko commented Sep 14, 2026

Copy link
Copy Markdown
Owner

概述

对全仓库进行代码审查后,修复了发现的所有 bug(高危、中危、低危均已处理),并为核心修复补充了回归测试。

修复清单

core(工具类)

  • FileUtil.isImage:原逻辑取反导致 jpg/png/gif 返回 falsegit 拼写错误修正为 gif,并改用 equalsIgnoreCase
  • TimeUtil.getLeftTimeString:重写为整除/取余一次性计算,修复溢出、错误单位换算等问题;<=0 返回 "0秒"
  • TimeUtil.DATE_PATTERN:去掉前导空格 " HH:mm:ss""HH:mm:ss"
  • SerializeUtil:改用 ISO_8859_1 保证任意字节与 char 1:1 往返,避免 UTF-8 损坏序列化数据。
  • RegExUtil.splitTags / regMatchAll2Array:用 List 收集后再转数组,修复 m.groupCount() 误当匹配数导致的 ArrayIndexOutOfBoundsException
  • CastUtil.isNumeric:改用 BigDecimal 严格校验,修复 1.2.31e3 等抛异常/结果错误;负整数仍返回 1、前导 + 返回 0、非数字/空返回 0。
  • StringUtil.getIP:处理 X-Forwarded-For 逗号列表取真实客户端地址并跳过 unknown,修复反代场景下取 IP 出错的 bug。
  • StringUtil.decode:尾部残缺的 % / %u 转义原样保留,不再越界抛异常。
  • StringUtil 模板 replace/format:缺失 key 保留原占位符;Matcher.quoteReplacement 避免 $/\ 被误解析。
  • SqlUtil.delSQlString:null/空输入返回 "in()"
  • Md5UtilgetBytes() 显式指定 UTF-8,避免平台默认编码不一致。
  • ExcelUtil:公式单元格分别尝试字符串/数值,避免类型不匹配抛异常。
  • MailUtil:改为从 classpath 读取配置;删除拼接明文密码激活链接的 redirectValidateUrl

website

  • 注册/登录:改为 @RequestParam 接收 FreeMarker 表单 POST(email/password),兼容前端流程。
  • 注册:直接加盐 MD5 创建账号,不再通过邮件回传明文密码;删除 validateEmail 端点。
  • 更新:保留已查询实体,不再新建空实体覆盖。
  • CommonDao.delete:游离态实体先 mergeremove,避免 IllegalArgumentException
  • website MailUtil.getContent:去掉 password 参数,激活链接不再携带密码。

crawler

  • OnnmyoujiSpider:所有 select().get(i) 增加空集合/空串防护;getShikigami 增加 try/catch 并在解析失败时返回 null;列表过滤 null 项。

socket

  • MyWebSocket.onMessage:群发前对用户消息做 HtmlUtil.htmlEncode,防止 XSS。

测试与验证

  • 新增 core/src/test/java/info/xiaomo/core/utils/UtilsBugFixTest.java(11 个用例),覆盖上述关键修复。
  • mvn -B --no-transfer-progress -pl core test:17 个测试全部通过。
  • mvn -B --no-transfer-progress install:全仓库 31 个模块 BUILD SUCCESS。

@houko
houko merged commit 48354b5 into main Sep 14, 2026
4 checks passed
@houko
houko deleted the fix/code-review-bugs branch September 14, 2026 00:31
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