Linux.ChinaUnix.net
ChinaUnix
|
Linux首页
|
新闻
|
博客
|
文章
|
专栏
|
新手
|
方案
|
图书
|
下载
|
人才
|
手册
|
wiki
|
搜索
会员:
密码:
免费注册
|
忘记密码
|
会员登录
|
搜索
[开源业界]
微软Zunes播放器死机 源于开放源码严重bug
1
2
3
4
››
首页
»
CU论坛
»
Linux
»
汇总贴列表
»
开源业界与评论
»
请选择您要去的论坛 ←
>新手园地
>系统管理
>网络问题
>硬件支持
>内核问题
>系统互操作专区
>中文支持
>桌面与办公
>影音娱乐
>网络工具
>编程问题
>内核源码
>CPU与编译器
>嵌入式开发
>驱动开发
>数据库应用
>服务器应用
>安全防护
>集群和虚拟机
>开源业界与评论
>贴图娱乐
>红茶馆
>文档专区
>下载共享
>Linux书友会
>Linux人才交流
>Linux站务交流
===============
→ 操作系统技术交流区 ←
>BSD
>Solaris
>SCO UNIX
>HP-UX
>AIX
>IBM AS400应用论坛
>Tru64 UNIX
>IRIX
>Mac OS X
→ 行业解决方案交流区 ←
> 金融行业
> 电信行业
> 互联网行业
> 医卫行业
> 制造行业
> 信息安全
> 教育行业
> 媒体娱乐行业
> 电子政务
> 交通行业
→ 程序设计交流区 ←
>C/C++
>Shell
>Java
>Php
>Perl
>Python
>Web开发
>软件工程
>中间件技术
>GUI编程
>软件配置管理
>VOIP开发技术
→ 网管技术交流区 ←
>网络安全
>网络技术
>Cisco技术
>存储备份之家
>服务器及硬件技术
→ 数据库技术交流区 ←
>MySQL
>PostgreSQL
>Oracle
>Informix
>Sybase
>DB2
→ 应用技术专题交流区 ←
>Web服务器
>Mail服务器
>FTP服务器
>DNS服务器
>Proxy服务器
>LDAP
>VPN
>Lotus
>Samba
→ IT综合交流区 ←
>IT业界新闻与评论
>IT职业生涯
>IT培训与认证
>IT二手大厅
>IT图书与评论
→ IT人的休闲生活交流区 ←
>清茶斋
>运动地带
>快乐数码摄影
>影音文字
>English Forum
>游戏玩家
>旅游天下
>贴图娱乐
>红茶馆
>IT爱车族
→ 站务及频道交流区 ←
>站务交流
>版主会议室
>Linux站务交流
>Linux版主会议室
>博客站务交流区
>下载频道交流区
>CU活动专区
最近访问的论坛 ...
《开源时代》2009.07月刊(有奖用户调查)
|
系统架构师大会诚邀大家参与者
|
IBM嘉年华活动颁奖倒计时
|
"CU伴我行"八周年有奖征集图文活动
|
联合挑战之“大话WEB应用交付”
‹‹ 上一主题
|
下一主题 ››
[
打印
] [
订阅
] [
收藏
] [
本帖文本页
] [
推荐此主题给朋友,立即获积分
]
Send_linux
管理员-法王
CU编号: 149458
注册:2004-4-7
最后登录: 2009-07-04
帖子:
15768
精华:
7
可用积分:16019 (大富大贵)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0
来自:CAU
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
[
推广获积分
]
1楼
发表于 2009-1-5 14:39
在08年最后一天微软播放器Zunes 30GB发生大规模死机和锁定事件几天之后,
驱动源代码
就被泄漏到了网上。bug显然与判断闰年的语句有关,程序员们在分析后发现,
闰年的判断上存在死循环
,即当一年等于366天时,代码无法判断,因为定义的是(days > 366)。
驱动不是微软所写,而是飞思卡尔(Freescale)在GPL下发布的开源驱动。但从质量评估上看,微软的团队如果不是松懈的话,怎么会让这样大一个bug漏掉?这个bug影响到所有使用同一类型硬盘的Windows CE设备。
来源:solidot
您对本贴的看法:
鲜花[0]
臭蛋[0]
YOCSEF“低排放绿色计算"报名中
|
【尚观研发课程8.8折,50000年薪起】
|
IBM嘉年华活动倒计时
|
嵌入式有奖书评,写书评,得大奖
yvmu
圣骑士
CU编号: 186424
注册:2004-9-27
最后登录: 2009-06-13
帖子:
137
精华:0
可用积分:53 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
[
推广获积分
]
2楼
发表于 2009-1-5 15:55
别把微软的屎盆子往开源头上扣。 开源给你用,不等于替你背黑锅。
您对本贴的看法:
鲜花[1]
臭蛋[0]
__________________________________
我很懒,但我很努力!
YOCSEF“低排放绿色计算"报名中
|
【尚观研发课程8.8折,50000年薪起】
|
IBM嘉年华活动倒计时
|
嵌入式有奖书评,写书评,得大奖
iamybj
(apue & unp)
骑士
CU编号: 479564
注册:2006-10-21
最后登录: 2009-05-23
帖子:
67
精华:0
可用积分:44 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:3
推广积分:0
来自:sd
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
[
推广获积分
]
3楼
发表于 2009-1-5 16:04
366天肯定是闰年。
判断闰年只需要用年就能判断!能被4整除但不能被100整除,或者能被400整除的年份。
哪个狗日的把我贴的源代码给删除了?
有问题的代码:
#
define
ORIGINYEAR
1980
BOOL
ConvertDays(
UINT32
days
, SYSTEMTIME* lpTime
)
{
int
dayofweek, month,
year;
UINT8 *month_tab;
//Calculate current day of the week
dayofweek = GetDayOfWeek(days);
year =
ORIGINYEAR
;
while
(days >
365
)
{
if
(IsLeapYear(year))
{
if
(days >
366
)
{
days -=
366
;
year +=
1
;
}
}
else
{
days -=
365
;
year +=
1
;
}
}
// Determine whether it is a leap year
month_tab = (UINT8 *)((IsLeapYear(year))? monthtable_leap : monthtable);
for (month=0; month<12; month++)
{
if (days <= month_tab[month])
break;
days -= month_tab[month];
}
month += 1;
lpTime->wDay = days;
lpTime->wDayOfWeek = dayofweek;
lpTime->wMonth = month;
lpTime->wYear = year;
return TRUE;
}
修改后的代码:
int
daysThisYear = (IsLeapYear(year) ?
366
:
365
);
//The number of days in the current year is now calculated instead.
while
(days > daysThisYear)
{
days -= daysThisYear;
year +=
1
;
daysThisYear = (IsLeapYear(year) ?
366
:
365
);
}
-------------------------------
不过我随便看了一下别的代码,写得很垃圾,好像是还没毕业的大一大二学生,根本没有发挥出C语言的优势。虽然我不是搞c的,帮他改一个地方,就是判断闰年这个函数 :
源代码这样,效率太低!
static int IsLeapYear(int Year)
{
int Leap;
Leap = 0;
if ((Year % 4) == 0) {
Leap = 1;
if ((Year % 100) == 0) {
Leap = (Year%400) ? 0 : 1;
}
}
return (Leap);
}
我修改一下:
static int IsLeapYear(int Year)
{
return (!(Year % 4) && (Year % 100) || !(Year % 400)) ? 1 : 0;
}
[
本帖最后由 iamybj 于 2009-1-6 14:03 编辑
]
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
扛着金箍棒,驾着七彩云,杀入UNIX世界!
YOCSEF“低排放绿色计算"报名中
|
【尚观研发课程8.8折,50000年薪起】
|
IBM嘉年华活动倒计时
|
嵌入式有奖书评,写书评,得大奖
jerrymy
(I-am-legend!)
大天使
CU编号: 605034
注册:2007-8-19
最后登录: 2009-07-04
帖子:
1996
精华:0
可用积分:2286 (小富即安)
信誉积分:5
专家积分:0 (本版:0)
空间积分:1866
推广积分:0
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
[
推广获积分
]
4楼
发表于 2009-1-5 16:05
终于抓到把柄了?
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
Hardware is indeterministically reliable。
Software is deterministically unreliable。
People are indeterministically unreliable。
Nature is deterministically reliable。
YOCSEF“低排放绿色计算"报名中
|
【尚观研发课程8.8折,50000年薪起】
|
IBM嘉年华活动倒计时
|
嵌入式有奖书评,写书评,得大奖
Send_linux
管理员-法王
CU编号: 149458
注册:2004-4-7
最后登录: 2009-07-04
帖子:
15768
精华:
7
可用积分:16019 (大富大贵)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0
来自:CAU
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
[
推广获积分
]
5楼
发表于 2009-1-5 16:48
QUOTE:
原帖由
iamybj
于 2009-1-5 16:04 发表
366天肯定是闰年。
判断闰年只需要用年就能判断!能被4整除但不能被100整除,或者能被400整除的年份。
这签名档实在是太。。。 。。。
您对本贴的看法:
鲜花[0]
臭蛋[0]
YOCSEF“低排放绿色计算"报名中
|
【尚观研发课程8.8折,50000年薪起】
|
IBM嘉年华活动倒计时
|
嵌入式有奖书评,写书评,得大奖
evaspring
(0Lǒv绫波丽)
法师
CU编号: 463710
注册:2006-9-9
最后登录: 2009-07-04
帖子:
6139
精华:0
可用积分:2788 (小富即安)
信誉积分:120
专家积分:12 (本版:0)
空间积分:0
推广积分:2
来自:土卫六
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
[
推广获积分
]
6楼
发表于 2009-1-5 18:21
QUOTE:
原帖由
iamybj
于 2009-1-5 16:04 发表
366天肯定是闰年。
判断闰年只需要用年就能判断!能被4整除但不能被100整除,或者能被400整除的年份。
没有那么简单。
没看懂新闻,是微软使用了开源代码么???
那么微软的代码审核有问题嘛 ~
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
宁静而不忧伤,执着而不偏激。
YOCSEF“低排放绿色计算"报名中
|
【尚观研发课程8.8折,50000年薪起】
|
IBM嘉年华活动倒计时
|
嵌入式有奖书评,写书评,得大奖
vbs100
精灵
CU编号: 645773
注册:2007-11-24
最后登录: 2009-07-04
帖子:
242
精华:0
可用积分:445 (白手起家)
信誉积分:5
专家积分:30 (本版:0)
空间积分:0
推广积分:0
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
[
推广获积分
]
7楼
发表于 2009-1-5 19:09
典型的 off-by-one 错误 不应该啊
您对本贴的看法:
鲜花[0]
臭蛋[0]
YOCSEF“低排放绿色计算"报名中
|
【尚观研发课程8.8折,50000年薪起】
|
IBM嘉年华活动倒计时
|
嵌入式有奖书评,写书评,得大奖
disheng727
精灵
CU编号: 699412
注册:2008-4-30
最后登录: 2009-06-28
帖子:
226
精华:0
可用积分:385 (白手起家)
信誉积分:0
专家积分:0 (本版:0)
空间积分:0
推广积分:0
来自:广州
状态:...保密...
[
个人空间
] [
短信
] [
博客
]
[
推广获积分
]
8楼
发表于 2009-1-5 19:13
iamybj 的图像上的那个女的实在是恶心
您对本贴的看法:
鲜花[0]
臭蛋[0]
YOCSEF“低排放绿色计算"报名中
|
【尚观研发课程8.8折,50000年薪起】
|
IBM嘉年华活动倒计时
|
嵌入式有奖书评,写书评,得大奖
chenyx
法师
CU编号: 2008
注册:2001-12-24
最后登录: 2009-07-04
帖子:
7628
精华:
1
可用积分:2285 (小富即安)
信誉积分:96
专家积分:102 (本版:0)
空间积分:804
推广积分:0
状态:...保密...
[
个人空间
] [
短信
] [
博客
]
[
推广获积分
]
9楼
发表于 2009-1-5 19:56
呵呵,MS这回糗大了。
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
宝剑锋从磨砺出,梅花香自苦寒来!!!
YOCSEF“低排放绿色计算"报名中
|
【尚观研发课程8.8折,50000年薪起】
|
IBM嘉年华活动倒计时
|
嵌入式有奖书评,写书评,得大奖
cheveu
光明使者
CU编号: 637835
注册:2007-11-5
最后登录: 2009-07-04
帖子:
912
精华:0
可用积分:1079 (家境小康)
信誉积分:0
专家积分:5 (本版:0)
空间积分:2
推广积分:0
状态:
...离线...
[
个人空间
] [
短信
] [
博客
]
[
推广获积分
]
10楼
发表于 2009-1-5 20:27
那个很强的签名,是一个韩国片,叫《猛男诞生记》,推荐用来打发无聊时间,不错。
您对本贴的看法:
鲜花[0]
臭蛋[0]
YOCSEF“低排放绿色计算"报名中
|
【尚观研发课程8.8折,50000年薪起】
|
IBM嘉年华活动倒计时
|
嵌入式有奖书评,写书评,得大奖
首页
»
CU论坛
»
Linux
»
汇总贴列表
»
开源业界与评论
»
1
2
3
4
››
请选择您要去的论坛 ←
>新手园地
>系统管理
>网络问题
>硬件支持
>内核问题
>系统互操作专区
>中文支持
>桌面与办公
>影音娱乐
>网络工具
>编程问题
>内核源码
>CPU与编译器
>嵌入式开发
>驱动开发
>数据库应用
>服务器应用
>安全防护
>集群和虚拟机
>开源业界与评论
>贴图娱乐
>红茶馆
>文档专区
>下载共享
>Linux书友会
>Linux人才交流
>Linux站务交流
===============
→ 操作系统技术交流区 ←
>BSD
>Solaris
>SCO UNIX
>HP-UX
>AIX
>IBM AS400应用论坛
>Tru64 UNIX
>IRIX
>Mac OS X
→ 行业解决方案交流区 ←
> 金融行业
> 电信行业
> 互联网行业
> 医卫行业
> 制造行业
> 信息安全
> 教育行业
> 媒体娱乐行业
> 电子政务
> 交通行业
→ 程序设计交流区 ←
>C/C++
>Shell
>Java
>Php
>Perl
>Python
>Web开发
>软件工程
>中间件技术
>GUI编程
>软件配置管理
>VOIP开发技术
→ 网管技术交流区 ←
>网络安全
>网络技术
>Cisco技术
>存储备份之家
>服务器及硬件技术
→ 数据库技术交流区 ←
>MySQL
>PostgreSQL
>Oracle
>Informix
>Sybase
>DB2
→ 应用技术专题交流区 ←
>Web服务器
>Mail服务器
>FTP服务器
>DNS服务器
>Proxy服务器
>LDAP
>VPN
>Lotus
>Samba
→ IT综合交流区 ←
>IT业界新闻与评论
>IT职业生涯
>IT培训与认证
>IT二手大厅
>IT图书与评论
→ IT人的休闲生活交流区 ←
>清茶斋
>运动地带
>快乐数码摄影
>影音文字
>English Forum
>游戏玩家
>旅游天下
>贴图娱乐
>红茶馆
>IT爱车族
→ 站务及频道交流区 ←
>站务交流
>版主会议室
>Linux站务交流
>Linux版主会议室
>博客站务交流区
>下载频道交流区
>CU活动专区
Copyright © 2001-2008 ChinaUnix.net All Rights Reserved 联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处
京ICP证041476号
清除 Cookies
-
Linux时代
-
Archiver
-
WAP
-
TOP
Processed in 0.048881 second(s), 5 queries , Gzip enabled