Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
21540f5e
L
libvirt
项目概览
openeuler
/
libvirt
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libvirt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
21540f5e
编写于
4月 26, 2013
作者:
J
John Ferlan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Validate the bios_date format for <sysinfo>
Add incorrectly formatted bios_date validation test
上级
14b3cac5
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
47 addition
and
0 deletion
+47
-0
src/conf/domain_conf.c
src/conf/domain_conf.c
+23
-0
tests/qemuxml2argvdata/qemuxml2argv-smbios-date.xml
tests/qemuxml2argvdata/qemuxml2argv-smbios-date.xml
+23
-0
tests/qemuxml2argvtest.c
tests/qemuxml2argvtest.c
+1
-0
未找到文件。
src/conf/domain_conf.c
浏览文件 @
21540f5e
...
...
@@ -8465,6 +8465,29 @@ virSysinfoParseXML(const xmlNodePtr node,
virXPathString("string(bios/entry[@name='version'])", ctxt);
def->bios_date =
virXPathString("string(bios/entry[@name='date'])", ctxt);
if (def->bios_date != NULL) {
char *ptr;
int month, day, year;
/* Validate just the format of the date
* Expect mm/dd/yyyy or mm/dd/yy,
* where yy must be 00->99 and would be assumed to be 19xx
* a yyyy date should be 1900 and beyond
*/
if (virStrToLong_i(def->bios_date, &ptr, 10, &month) < 0 ||
*ptr != '/' ||
virStrToLong_i(ptr + 1, &ptr, 10, &day) < 0 ||
*ptr != '/' ||
virStrToLong_i(ptr + 1, &ptr, 10, &year) < 0 ||
*ptr != '\0' ||
(month < 1 || month > 12) ||
(day < 1 || day > 31) ||
(year < 0 || (year >= 100 && year < 1900))) {
virReportError(VIR_ERR_XML_DETAIL, "%s",
_("Invalid BIOS 'date' format"));
goto error;
}
}
def->bios_release =
virXPathString("string(bios/entry[@name='release'])", ctxt);
...
...
tests/qemuxml2argvdata/qemuxml2argv-smbios-date.xml
0 → 100644
浏览文件 @
21540f5e
<domain
type=
'qemu'
>
<name>
smbios
</name>
<uuid>
362d1fc1-df7d-193e-5c18-49a71bd1da66
</uuid>
<memory
unit=
'KiB'
>
1048576
</memory>
<currentMemory
unit=
'KiB'
>
1048576
</currentMemory>
<vcpu
placement=
'static'
>
1
</vcpu>
<os>
<type
arch=
'i686'
machine=
'pc'
>
hvm
</type>
<smbios
mode=
"sysinfo"
/>
</os>
<sysinfo
type=
"smbios"
>
<bios>
<entry
name=
"date"
>
999/999/123
</entry>
</bios>
</sysinfo>
<clock
offset=
'utc'
/>
<on_poweroff>
destroy
</on_poweroff>
<on_reboot>
restart
</on_reboot>
<on_crash>
restart
</on_crash>
<devices>
<emulator>
/usr/bin/qemu
</emulator>
</devices>
</domain>
tests/qemuxml2argvtest.c
浏览文件 @
21540f5e
...
...
@@ -825,6 +825,7 @@ mymain(void)
DO_TEST
(
"smbios"
,
QEMU_CAPS_SMBIOS_TYPE
);
DO_TEST_PARSE_ERROR
(
"smbios-date"
,
QEMU_CAPS_SMBIOS_TYPE
);
DO_TEST
(
"watchdog"
,
NONE
);
DO_TEST
(
"watchdog-device"
,
QEMU_CAPS_DEVICE
,
QEMU_CAPS_NODEFCONFIG
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录