[PATCH] ftape divide-by-zero found by Stanford Checker
"Randy.Dunlap" <[email protected]> Mon, 10 Feb 2003 21:22:35 -0800
| Newsgroups | gmane.linux.tape |
|---|---|
| Message-ID | <[email protected]> |
Hi, This patch fixes a potential divide-by-zero found by the Stanford Checker. The patch applies to 2.5.60. Please apply. Thanks, ~Randy
checker-bounds-ftape.patch
(text/plain, 1.8 KB)
patch_name: checker-bounds-ftape.patch patch_version: 2003-02-10.21.15.03 author: Randy.Dunlap <[email protected]> description: fix potential div-by-zero found by stanford checker product: Linux product_versions: linux-2560 changelog: _ URL: _ requires: _ conflicts: _ diffstat: = ftape-read.c | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) diff -Naur ./drivers/char/ftape/lowlevel/ftape-read.c%BNDS ./drivers/char/ftape/lowlevel/ftape-read.c --- ./drivers/char/ftape/lowlevel/ftape-read.c%BNDS Thu Jan 16 18:21:38 2003 +++ ./drivers/char/ftape/lowlevel/ftape-read.c Wed Jan 29 10:57:09 2003 @@ -589,6 +589,8 @@ (max_floppy_track != 254 || max_floppy_sector != 128)) #endif ) { + char segperheadz = ftape_segments_per_head ? ' ' : '?'; + char segpercylz = ftape_segments_per_cylinder ? ' ' : '?'; TRACE(ft_t_err,"Tape parameters inconsistency, please report"); TRACE(ft_t_err, "reported = %d/%d/%d/%d/%d/%d", ft_format_code, @@ -597,14 +599,20 @@ max_floppy_side, max_floppy_track, max_floppy_sector); - TRACE(ft_t_err, "required = %d/%d/%d/%d/%d/%d", + TRACE(ft_t_err, "required = %d/%d/%d/%d%c/%d%c/%d", ft_format_code, ft_segments_per_track, ft_tracks_per_tape, + ftape_segments_per_head ? ((ft_segments_per_track * ft_tracks_per_tape -1) / - ftape_segments_per_head ), + ftape_segments_per_head ) : + (ft_segments_per_track * ft_tracks_per_tape -1), + segperheadz, + ftape_segments_per_cylinder ? (ftape_segments_per_head / - ftape_segments_per_cylinder - 1 ), + ftape_segments_per_cylinder - 1 ) : + ftape_segments_per_head - 1, + segpercylz, (ftape_segments_per_cylinder * FT_SECTORS_PER_SEGMENT)); TRACE_EXIT -EIO; }