Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Per Cederqvist
lyskom-server-ceder-1616-generations-topgit
Commits
b4230a16
Commit
b4230a16
authored
Jul 21, 2003
by
Per Cederqvist
Browse files
New program that creates a broken lyskomd config file with timeval
overflows.
parent
e8217a25
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/server/testsuite/timeval-overflow.c
0 → 100644
View file @
b4230a16
/*
* Emit a lyskomd that causes a struct timeval to overflow.
* Copyright (C) 2003 Lysator Academic Computer Association.
*
* This file is part of the LysKOM server.
*
* LysKOM is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 1, or (at your option)
* any later version.
*
* LysKOM is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details.
*
* You should have received a copy of the GNU General Public License
* along with LysKOM; see the file COPYING. If not, write to
* Lysator, c/o ISY, Linkoping University, S-581 83 Linkoping, SWEDEN,
* or the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
* MA 02139, USA.
*
* Please mail bug reports to bug-lyskom@lysator.liu.se.
*/
#include
<limits.h>
#include
<stdio.h>
#include
<sys/types.h>
int
main
(
void
)
{
struct
timeval
tv
;
struct
timeval
next
;
tv
.
tv_sec
=
~
0
;
if
(
tv
.
tv_sec
<
0
)
{
for
(
next
.
tv_sec
=
0
;
;
next
.
tv_sec
=
2
*
next
.
tv_sec
+
1
)
{
if
(
next
.
tv_sec
<
0
)
break
;
tv
=
next
;
}
}
/* No overflow. */
printf
(
"Garb busy postponement: %f seconds
\n
"
,
(
double
)
tv
.
tv_sec
);
/* Overflow. */
printf
(
"Garb timeout: %f seconds
\n
"
,
1
.
5
*
(
double
)
tv
.
tv_sec
);
/* Overflow. */
printf
(
"Sync timeout: %f seconds
\n
"
,
1
.
1
*
(
double
)
tv
.
tv_sec
);
/* Overflow. */
printf
(
"Garb interval: %f days
\n
"
,
(
double
)
tv
.
tv_sec
/
24
.
0
/
3599
.
0
);
/* No overflow. */
printf
(
"Sync interval: %f days
\n
"
,
(
double
)
tv
.
tv_sec
/
24
.
0
/
3601
.
0
);
/* Overflow. */
printf
(
"Sync retry interval: %f us
\n
"
,
1.001e6
*
tv
.
tv_sec
);
return
0
;
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment