From: Jakub Bogusz Date: Wed, 10 Jul 2013 19:41:06 +0000 (+0200) Subject: - added format patch (fixes build with -Werror=format-security) X-Git-Tag: auto/th/crash-7.0.1-1~1 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=b41a0904596adffedd12da7814fc2cc7e0342321;p=packages%2Fcrash.git - added format patch (fixes build with -Werror=format-security) --- diff --git a/crash-format.patch b/crash-format.patch new file mode 100644 index 0000000..627bd0c --- /dev/null +++ b/crash-format.patch @@ -0,0 +1,737 @@ +--- crash-7.0.1/tools.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/tools.c 2013-07-10 18:18:48.226348270 +0200 +@@ -5389,7 +5389,7 @@ + pc->flags |= PLEASE_WAIT; + + please_wait_len = sprintf(buf, "\rplease wait... (%s)", s); +- fprintf(fp, buf); ++ fputs(buf, fp); + fflush(fp); + } + +--- crash-7.0.1/memory.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/memory.c 2013-07-10 19:36:54.826063658 +0200 +@@ -3608,7 +3608,7 @@ + + if (!(flag & (PHYSADDR|VERIFY_ADDR|PRINT_VMA_STRUCTS|PRINT_SINGLE_VMA)) && + !DO_REF_SEARCH(ref)) +- fprintf(fp, vma_header); ++ fputs(vma_header, fp); + + for (found = FALSE; vma; vma = vm_next) { + +@@ -3868,7 +3868,7 @@ + } + + if (display) +- fprintf(fp, buf3); ++ fputs(buf3, fp); + + start += PAGESIZE(); + } +@@ -5725,7 +5725,7 @@ + close_tmpfile(); + + if (found) { +- fprintf(fp, hash_table); ++ fputs(hash_table, fp); + fprintf(fp, "%lx\n", searchpage); + hi->retval = TRUE; + } +@@ -5829,7 +5829,7 @@ + open_tmpfile(); + + if (!verbose) +- fprintf(fp, free_area_hdr1); ++ fputs(free_area_hdr1, fp); + + hq_open(); + for (i = 0; i < nr_mem_lists; i++) { +@@ -5838,7 +5838,7 @@ + chunk_size = power(2, i); + + if (verbose) +- fprintf(fp, free_area_hdr2); ++ fputs(free_area_hdr2, fp); + + fprintf(fp, "%3d ", i); + sprintf(buf, "%ldk", (chunk_size * PAGESIZE())/1024); +@@ -5924,8 +5924,8 @@ + if (found) { + order--; + +- fprintf(fp, last_free_hdr); +- fprintf(fp, last_free); ++ fputs(last_free_hdr, fp); ++ fputs(last_free, fp); + fprintf(fp, "%lx ", this_addr); + if (order) { + switch (fi->memtype) +@@ -6039,12 +6039,12 @@ + hq_open(); + for (i = sum = found = 0; i < dimension; i++) { + if (!verbose) +- fprintf(fp, free_area_hdr5); ++ fputs(free_area_hdr5, fp); + pp = (ulong *)(free_area_buf + + ((SIZE(free_area_struct)*nr_mem_lists)*i)); + for (j = 0; j < nr_mem_lists; j++) { + if (verbose) +- fprintf(fp, free_area_hdr6); ++ fputs(free_area_hdr6, fp); + + sprintf(buf, "[%d][%d]", i, j); + fprintf(fp, "%7s ", buf); +@@ -6137,7 +6137,7 @@ + close_tmpfile(); + + if (found) { +- fprintf(fp, last_area_hdr); ++ fputs(last_area_hdr, fp); + fprintf(fp, "%s\n", last_area); + fprintf(fp, "%lx ", this_addr); + if (order) { +@@ -6433,7 +6433,7 @@ + zone_hdr, + mkstring(buf1, VADDR_PRLEN, CENTER|LJUST, "MEM_MAP")); + fprintf(fp, "%s\n", last_zone); +- fprintf(fp, last_area_hdr); ++ fputs(last_area_hdr, fp); + fprintf(fp, "%s\n", last_area); + fprintf(fp, "%lx ", this_addr); + if (order) { +@@ -6758,7 +6758,7 @@ + zone_hdr, + mkstring(buf1, VADDR_PRLEN, CENTER|LJUST, "MEM_MAP")); + fprintf(fp, "%s\n", last_zone); +- fprintf(fp, last_area_hdr); ++ fputs(last_area_hdr, fp); + fprintf(fp, "%s\n", last_area); + fprintf(fp, "%lx ", this_addr); + if (order) { +@@ -6924,7 +6924,7 @@ + ld = &list_data; + + if (!verbose) +- fprintf(fp, free_area_hdr4); ++ fputs(free_area_hdr4, fp); + + total_free = 0; + flen = MAX(VADDR_PRLEN, strlen("FREE_AREA_STRUCT")); +@@ -6935,7 +6935,7 @@ + for (i = 0; i < num; i++, + free_area += SIZE_OPTION(free_area_struct, free_area)) { + if (verbose) +- fprintf(fp, free_area_hdr3); ++ fputs(free_area_hdr3, fp); + fprintf(fp, "%3d ", i); + chunk_size = power(2, i); + sprintf(buf, "%ldk", (chunk_size * PAGESIZE())/1024); +@@ -6999,7 +6999,7 @@ + j++, free_list += SIZE(list_head)) { + + if (verbose) +- fprintf(fp, free_area_hdr3); ++ fputs(free_area_hdr3, fp); + + fprintf(fp, "%3d ", i); + chunk_size = power(2, i); +@@ -7109,7 +7109,7 @@ + } + } + +- fprintf(fp, kmeminfo_hdr); ++ fputs(kmeminfo_hdr, fp); + /* + * Get total RAM based upon how the various versions of si_meminfo() + * have done it, latest to earliest: +@@ -8697,7 +8697,7 @@ + + if ((!(si->flags & VERBOSE) || si->reqname) && + !(si->flags & (ADDRESS_SPECIFIED|GET_SLAB_PAGES))) +- fprintf(fp, kmem_cache_hdr); ++ fputs(kmem_cache_hdr, fp); + + si->addrlist = (ulong *)GETBUF((vt->kmem_max_c_num+1) * sizeof(ulong)); + cnt = 0; +@@ -8804,9 +8804,9 @@ + do_slab_chain(SLAB_WALKTHROUGH, si); + + if (si->found) { +- fprintf(fp, kmem_cache_hdr); ++ fputs(kmem_cache_hdr, fp); + DUMP_KMEM_CACHE_INFO_V1(); +- fprintf(fp, slab_hdr); ++ fputs(slab_hdr, fp); + DUMP_SLAB_INFO(); + + switch (si->found) +@@ -8833,14 +8833,14 @@ + break; + + case KMEM_OBJECT_ADDR_FREE: +- fprintf(fp, free_inuse_hdr); ++ fputs(free_inuse_hdr, fp); + fprintf(fp, " %lx\n", + si->container ? si->container : + (ulong)si->spec_addr); + break; + + case KMEM_OBJECT_ADDR_INUSE: +- fprintf(fp, free_inuse_hdr); ++ fputs(free_inuse_hdr, fp); + fprintf(fp, " [%lx]\n", + si->container ? si->container : + (ulong)si->spec_addr); +@@ -8903,7 +8903,7 @@ + + if ((!(si->flags & VERBOSE) || si->reqname) && + !(si->flags & (ADDRESS_SPECIFIED|GET_SLAB_PAGES))) +- fprintf(fp, kmem_cache_hdr); ++ fputs(kmem_cache_hdr, fp); + + si->addrlist = (ulong *)GETBUF((vt->kmem_max_c_num+1) * sizeof(ulong)); + si->kmem_bufctl = (int *)GETBUF((vt->kmem_max_c_num+1) * sizeof(int)); +@@ -9018,9 +9018,9 @@ + do_slab_chain_percpu_v1(SLAB_WALKTHROUGH, si); + + if (si->found) { +- fprintf(fp, kmem_cache_hdr); ++ fputs(kmem_cache_hdr, fp); + DUMP_KMEM_CACHE_INFO_V1(); +- fprintf(fp, slab_hdr); ++ fputs(slab_hdr, fp); + gather_slab_cached_count(si); + DUMP_SLAB_INFO(); + +@@ -9045,21 +9045,21 @@ + break; + + case KMEM_OBJECT_ADDR_FREE: +- fprintf(fp, free_inuse_hdr); ++ fputs(free_inuse_hdr, fp); + fprintf(fp, " %lx\n", + si->container ? si->container : + (ulong)si->spec_addr); + break; + + case KMEM_OBJECT_ADDR_INUSE: +- fprintf(fp, free_inuse_hdr); ++ fputs(free_inuse_hdr, fp); + fprintf(fp, " [%lx]\n", + si->container ? si->container : + (ulong)si->spec_addr); + break; + + case KMEM_OBJECT_ADDR_CACHED: +- fprintf(fp, free_inuse_hdr); ++ fputs(free_inuse_hdr, fp); + fprintf(fp, + " %lx (cpu %d cache)\n", + si->container ? si->container : +@@ -9123,7 +9123,7 @@ + + if ((!(si->flags & VERBOSE) || si->reqname) && + !(si->flags & (ADDRESS_SPECIFIED|GET_SLAB_PAGES))) +- fprintf(fp, kmem_cache_hdr); ++ fputs(kmem_cache_hdr, fp); + + si->addrlist = (ulong *)GETBUF((vt->kmem_max_c_num+1) * sizeof(ulong)); + si->kmem_bufctl = (int *)GETBUF((vt->kmem_max_c_num+1) * sizeof(int)); +@@ -9262,9 +9262,9 @@ + do_slab_chain_percpu_v2(SLAB_WALKTHROUGH, si); + + if (si->found) { +- fprintf(fp, kmem_cache_hdr); ++ fputs(kmem_cache_hdr, fp); + DUMP_KMEM_CACHE_INFO_V2(); +- fprintf(fp, slab_hdr); ++ fputs(slab_hdr, fp); + gather_slab_cached_count(si); + DUMP_SLAB_INFO(); + +@@ -9289,21 +9289,21 @@ + break; + + case KMEM_OBJECT_ADDR_FREE: +- fprintf(fp, free_inuse_hdr); ++ fputs(free_inuse_hdr, fp); + fprintf(fp, " %lx\n", + si->container ? si->container : + (ulong)si->spec_addr); + break; + + case KMEM_OBJECT_ADDR_INUSE: +- fprintf(fp, free_inuse_hdr); ++ fputs(free_inuse_hdr, fp); + fprintf(fp, " [%lx]\n", + si->container ? si->container : + (ulong)si->spec_addr); + break; + + case KMEM_OBJECT_ADDR_CACHED: +- fprintf(fp, free_inuse_hdr); ++ fputs(free_inuse_hdr, fp); + fprintf(fp, + " %lx (cpu %d cache)\n", + si->container ? si->container : +@@ -9311,7 +9311,7 @@ + break; + + case KMEM_OBJECT_ADDR_SHARED: +- fprintf(fp, free_inuse_hdr); ++ fputs(free_inuse_hdr, fp); + fprintf(fp, + " %lx (shared cache)\n", + si->container ? si->container : +@@ -10422,7 +10422,7 @@ + si->s_index = ULONG_PTR(si->slab_buf + OFFSET(kmem_slab_s_s_index)); + + if (!(si->flags & ADDRESS_SPECIFIED)) { +- fprintf(fp, slab_hdr); ++ fputs(slab_hdr, fp); + DUMP_SLAB_INFO(); + } + +@@ -10474,7 +10474,7 @@ + gather_slab_cached_count(si); + + if (!(si->flags & ADDRESS_SPECIFIED)) { +- fprintf(fp, slab_hdr); ++ fputs(slab_hdr, fp); + DUMP_SLAB_INFO(); + } + +@@ -10526,7 +10526,7 @@ + gather_slab_cached_count(si); + + if (!(si->flags & ADDRESS_SPECIFIED)) { +- fprintf(fp, slab_hdr); ++ fputs(slab_hdr, fp); + DUMP_SLAB_INFO(); + } + +@@ -10774,7 +10774,7 @@ + } + + if (!(si->flags & ADDRESS_SPECIFIED)) +- fprintf(fp, free_inuse_hdr); ++ fputs(free_inuse_hdr, fp); + + /* For on-slab bufctls, c_offset is the distance between the start of + * an obj and its related bufctl. For off-slab bufctls, c_offset is +@@ -10850,7 +10850,7 @@ + } + + if (!(si->flags & ADDRESS_SPECIFIED)) +- fprintf(fp, free_inuse_hdr); ++ fputs(free_inuse_hdr, fp); + + for (i = 0, obj = si->s_mem; i < si->c_num; i++, obj += si->size) { + on_free_list = FALSE; +@@ -13494,7 +13494,7 @@ + swap_info = symbol_value("swap_info"); + + if (swapflags & VERBOSE) +- fprintf(fp, swap_info_hdr); ++ fputs(swap_info_hdr, fp); + + totalswap = totalused = 0; + +@@ -15948,7 +15948,7 @@ + + if (!si->reqname && + !(si->flags & (ADDRESS_SPECIFIED|GET_SLAB_PAGES))) +- fprintf(fp, kmem_cache_hdr); ++ fputs(kmem_cache_hdr, fp); + + if (si->flags & ADDRESS_SPECIFIED) { + if ((p1 = is_slab_page(si, kbuf))) { +@@ -15983,7 +15983,7 @@ + if (reqname) { + if (!STREQ(reqname, buf)) + continue; +- fprintf(fp, kmem_cache_hdr); ++ fputs(kmem_cache_hdr, fp); + } + if (ignore_cache(si, buf)) { + fprintf(fp, "%lx %-18s [IGNORED]\n", +@@ -16027,7 +16027,7 @@ + } else if (si->flags & VERBOSE) { + do_kmem_cache_slub(si); + if (!reqname && ((i+1) < si->cache_count)) +- fprintf(fp, kmem_cache_hdr); ++ fputs(kmem_cache_hdr, fp); + } + + next_cache: +--- crash-7.0.1/x86_64.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/x86_64.c 2013-07-10 19:38:10.459391696 +0200 +@@ -4679,7 +4679,7 @@ + + value_to_symstr(addr, locbuf, 0); + if (strlen(locbuf)) +- sprintf(buf, locbuf); ++ strcpy(buf, locbuf); + else { + sprintf(buf, "%016lx", addr); + if (kvtop(NULL, addr, &phys, 0)) { +@@ -4745,7 +4745,7 @@ + sprintf(buf1, "0x%lx <%s>\n", value, + value_to_symstr(value, buf2, output_radix)); + +- sprintf(p1, buf1); ++ strcpy(p1, buf1); + + } else if (STREQ(argv[argc-2], "callq") && + hexadecimal(argv[argc-1], 0)) { +@@ -4763,7 +4763,7 @@ + value_to_symstr(value, buf2, output_radix)); + if (IS_MODULE_VADDR(value) && + !strstr(buf2, "+")) +- sprintf(p1, buf1); ++ strcpy(p1, buf1); + } + } + +@@ -7256,7 +7256,7 @@ + strcpy(buf2, buf); + + if (CRASHDEBUG(3)) +- fprintf(fp, buf2); ++ fputs(buf2, fp); + + c = parse_line(buf, arglist); + +--- crash-7.0.1/va_server.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/va_server.c 2013-07-10 19:38:39.904020687 +0200 +@@ -416,7 +416,7 @@ + hdr = sizeof(long) == 4 ? memory_dump_hdr_32 : memory_dump_hdr_64; + fmt = sizeof(long) == 4 ? memory_dump_fmt_32 : memory_dump_fmt_64; + +- fprintf(fp, hdr); ++ fputs(hdr, fp); + + for (blks = 0, m = vas_map_base->map; m->start_va; m++) { + fprintf(fp, fmt, +--- crash-7.0.1/symbols.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/symbols.c 2013-07-10 20:09:51.433565338 +0200 +@@ -5691,7 +5691,7 @@ + } + } + p1 = strstr(buf1, "="); +- fprintf(pc->saved_fp, p1+2); ++ fputs(p1+2, pc->saved_fp); + } else + fprintf(pc->saved_fp, " %s", buf1); + } +@@ -6042,7 +6042,7 @@ + if ((flags & SHOW_OFFSET) && whitespace(buf[0])) + show_member_offset(sfp, dm, buf); + else +- fprintf(sfp, buf); ++ fputs(buf, sfp); + } + } + } +@@ -6295,7 +6295,7 @@ + p1 = buf; + if (STRNEQ(buf, "type = ")) + p1 += strlen("type = "); +- fprintf(pc->saved_fp, p1); ++ fputs(p1, pc->saved_fp); + } + + close_tmpfile(); +@@ -6453,7 +6453,7 @@ + int firstline; + + if (leader) { +- fprintf(pc->saved_fp, buf2); ++ fputs(buf2, pc->saved_fp); + fflush(pc->saved_fp); + } + +@@ -6464,7 +6464,7 @@ + (p1 = strstr(buf1, "{")) && + !STRNEQ(p1, "{\n")) { + *p1 = NULLCHAR; +- fprintf(pc->saved_fp, buf1); ++ fputs(buf1, pc->saved_fp); + fprintf(pc->saved_fp, "\n {"); + print_verbatim(pc->saved_fp, p1+1); + } else +@@ -7110,7 +7110,7 @@ + sprintf(buf1, *gdb_output_radix == 10 ? " [%ld]" : " [0x%lx]", offset); + sprintf(fmt, "%c%ds", '%', len); + fprintf(ofp, fmt, buf1); +- fprintf(ofp, &inbuf[3]); ++ fputs(&inbuf[3], ofp); + + return TRUE; + +@@ -9347,7 +9347,7 @@ + strstr(buf, " offset_table:")) + break; + +- fprintf(pc->saved_fp, buf); ++ fputs(buf, pc->saved_fp); + } + } + close_tmpfile(); +--- crash-7.0.1/cmdline.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/cmdline.c 2013-07-10 20:10:19.101455093 +0200 +@@ -62,7 +62,7 @@ + + if (!(pc->flags & + (READLINE|SILENT|CMDLINE_IFILE|RCHOME_IFILE|RCLOCAL_IFILE))) +- fprintf(fp, pc->prompt); ++ fputs(pc->prompt, fp); + fflush(fp); + + /* +--- crash-7.0.1/lkcd_common.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/lkcd_common.c 2013-07-10 20:11:00.596622762 +0200 +@@ -1325,7 +1325,7 @@ + va_end(ap); + + if (lkcd->fp) +- fprintf(lkcd->fp, buf); ++ fputs(buf, lkcd->fp); + else + console(buf); + } +--- crash-7.0.1/netdump.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/netdump.c 2013-07-10 20:11:35.021477880 +0200 +@@ -691,7 +691,7 @@ + va_end(ap); + + if (nd->ofp) +- fprintf(nd->ofp, buf); ++ fputs(buf, nd->ofp); + else + console(buf); + } +--- crash-7.0.1/xendump.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/xendump.c 2013-07-10 20:12:14.856572161 +0200 +@@ -1974,9 +1974,9 @@ + va_end(ap); + + if (xd->ofp) +- fprintf(xd->ofp, buf); ++ fputs(buf, xd->ofp); + else if (!XENDUMP_VALID() && CRASHDEBUG(7)) +- fprintf(stderr, buf); ++ fputs(buf, stderr); + + } + +--- crash-7.0.1/filesys.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/filesys.c 2013-07-10 20:23:29.853077499 +0200 +@@ -1290,10 +1290,10 @@ + namespace_context); + } else { + if (!(pc->curcmd_flags & HEADER_PRINTED)) { +- fprintf(fp, mount_hdr); ++ fputs(mount_hdr, fp); + pc->curcmd_flags |= HEADER_PRINTED; + } +- fprintf(fp, buf2); ++ fputs(buf2, fp); + } + found = FALSE; + fp = pc->tmpfile; +@@ -1420,7 +1420,7 @@ + sbp = ULONG(vfsmount_buf + OFFSET(vfsmount_mnt_sb)); + + if (flags) +- fprintf(fp, mount_hdr); ++ fputs(mount_hdr, fp); + fprintf(fp, "%s %s ", + mkstring(buf1, VADDR_PRLEN, RJUST|LONG_HEX, + MKSTR(*vfsmnt)), +@@ -1449,7 +1449,7 @@ + sprintf(buf1, "%s%s", buf3, buf4); + while ((strlen(buf1) > 17) && (buf1[strlen(buf1)-2] == ' ')) + strip_ending_char(buf1, ' '); +- fprintf(fp, buf1); ++ fputs(buf1, fp); + + if (VALID_MEMBER(vfsmount_mnt_dirname)) { + if (read_string(dirp, buf1, BUFSIZE-1)) +@@ -1486,7 +1486,7 @@ + fprintf(fp, "%s\n", + mkstring(buf2, VADDR_PRLEN, + CENTER, "OPEN FILES")); +- fprintf(fp, mount_files_header); ++ fputs(mount_files_header, fp); + files_header_printed = 1; + } + file_dump(0, *dp, inode, 0, DUMP_DENTRY_ONLY); +@@ -2221,14 +2221,14 @@ + #define PRINT_FILE_REFERENCE() \ + if (!root_pwd_printed) { \ + print_task_header(fp, tc, 0); \ +- fprintf(fp, root_pwd); \ ++ fputs(root_pwd, fp); \ + root_pwd_printed = TRUE; \ + } \ + if (!header_printed) { \ +- fprintf(fp, files_header); \ ++ fputs(files_header, fp); \ + header_printed = TRUE; \ + } \ +- fprintf(fp, buf4); \ ++ fputs(buf4, fp); \ + ref->cmdflags |= FILES_REF_FOUND; + + #define FILENAME_COMPONENT(P,C) \ +@@ -2506,7 +2506,7 @@ + } + else if (file) { + if (!header_printed) { +- fprintf(fp, files_header); ++ fputs(files_header, fp); + header_printed = 1; + } + file_dump(file, 0, 0, i, +@@ -3237,8 +3237,8 @@ + if (STRNEQ(buf, "PID:")) { + if (!STREQ(uses, "")) { + if (!fuser_header_printed) { +- fprintf(pc->saved_fp, +- fuser_header); ++ fputs(fuser_header, ++ pc->saved_fp); + fuser_header_printed = 1; + } + show_fuser(task_buf, uses); +@@ -3294,7 +3294,7 @@ + } + if (!STREQ(uses, "")) { + if (!fuser_header_printed) { +- fprintf(pc->saved_fp, fuser_header); ++ fputs(fuser_header, pc->saved_fp); + fuser_header_printed = 1; + } + show_fuser(task_buf, uses); +--- crash-7.0.1/task.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/task.c 2013-07-10 20:25:20.984656782 +0200 +@@ -2727,7 +2727,7 @@ + print_task_header(pc->saved_fp, tc, 0); + header_printed = TRUE; + } +- fprintf(pc->saved_fp, buf); ++ fputs(buf, pc->saved_fp); + if (STRNEQ(buf, lookfor2)) + BZERO(lookfor2, BUFSIZE); + continue; +@@ -2738,7 +2738,7 @@ + print_task_header(pc->saved_fp, tc, 0); + header_printed = TRUE; + } +- fprintf(pc->saved_fp, buf); ++ fputs(buf, pc->saved_fp); + if (strstr(buf, lookfor3)) + BZERO(lookfor3, BUFSIZE); + continue; +@@ -2754,7 +2754,7 @@ + print_task_header(pc->saved_fp, tc, 0); + header_printed = TRUE; + } +- fprintf(pc->saved_fp, buf); ++ fputs(buf, pc->saved_fp); + if (strstr(buf, "{{\n")) + sprintf(lookfor2, " }},"); + else if (strstr(buf, "{\n")) +@@ -3447,14 +3447,14 @@ + } + + if (bt->stkptr) +- sprintf(buf, mkstring(buf1, VADDR_PRLEN, ++ strcpy(buf, mkstring(buf1, VADDR_PRLEN, + CENTER|RJUST|LONG_HEX, + MKSTR(bt->stkptr))); + else + sprintf(buf, "%s", + mkstring(buf1, VADDR_PRLEN, CENTER|RJUST, "--")); + } else +- sprintf(buf, mkstring(buf1, VADDR_PRLEN, ++ strcpy(buf, mkstring(buf1, VADDR_PRLEN, + CENTER|RJUST|LONG_HEX, + MKSTR(tc->task))); + +@@ -8612,7 +8612,7 @@ + } + + len += strlen(buf); +- fprintf(fp, buf); ++ fputs(buf, fp); + } + + sigset >>= 1; +--- crash-7.0.1/kernel.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/kernel.c 2013-07-10 20:35:26.124686738 +0200 +@@ -1000,7 +1000,7 @@ + if (REMOTE()) + sprintf(buf, "%s:%s", pc->server, pc->server_memsrc); + else +- sprintf(buf, ACTIVE() ? pc->live_memsrc : pc->dumpfile); ++ strcpy(buf, ACTIVE() ? pc->live_memsrc : pc->dumpfile); + + error(INFO, "%s and %s do not match!\n", + pc->system_map ? pc->system_map : +@@ -1262,7 +1262,7 @@ + if (REMOTE()) + sprintf(buffer, "%s:%s", pc->server, pc->server_memsrc); + else +- sprintf(buffer, ACTIVE() ? "live system" : pc->dumpfile); ++ strcpy(buffer, ACTIVE() ? "live system" : pc->dumpfile); + + sprintf(buffer2, " %s is %s -- %s is %s\n", + namelist, namelist_smp ? "SMP" : "not SMP", +@@ -4381,13 +4381,13 @@ + rem = (ulonglong)ts_nsec % (ulonglong)1000000000; + sprintf(buf, "[%5lld.%06ld] ", nanos, rem/1000); + ilen = strlen(buf); +- fprintf(fp, buf); ++ fputs(buf, fp); + } + + if (msg_flags & SHOW_LOG_LEVEL) { + sprintf(buf, "<%x>", level); + ilen += strlen(buf); +- fprintf(fp, buf); ++ fputs(buf, fp); + } + + for (i = 0, p = msg; i < text_len; i++, p++) { +@@ -4901,7 +4901,7 @@ + if (spec) + open_tmpfile(); + +- fprintf(fp, sys_call_hdr); ++ fputs(sys_call_hdr, fp); + + for (i = 0, sct = sys_call_table; i < NR_syscalls; i++, sct++) { + if (!(scp = value_symbol(*sct))) { +--- crash-7.0.1/dev.c.orig 2013-06-17 20:18:36.000000000 +0200 ++++ crash-7.0.1/dev.c 2013-07-10 20:39:49.179635470 +0200 +@@ -224,7 +224,7 @@ + switch (name_typecode) + { + case TYPE_CODE_ARRAY: +- snprintf(buf, name_size, char_device_struct_buf + ++ snprintf(buf, name_size, "%s", char_device_struct_buf + + OFFSET(char_device_struct_name)); + break; + case TYPE_CODE_PTR: +@@ -294,7 +294,7 @@ + switch (name_typecode) + { + case TYPE_CODE_ARRAY: +- snprintf(buf, name_size, char_device_struct_buf + ++ snprintf(buf, name_size, "%s", char_device_struct_buf + + OFFSET(char_device_struct_name)); + break; + case TYPE_CODE_PTR: diff --git a/crash.spec b/crash.spec index 82020e1..a8b1f94 100644 --- a/crash.spec +++ b/crash.spec @@ -19,6 +19,7 @@ Source0: http://people.redhat.com/anderson/%{name}-%{version}.tar.gz # git clone https://code.google.com/p/eppic Source1: eppic.tar.xz # Source1-md5: a9f80ad71de9d6f5b77534a7ebdbed8e +Patch0: %{name}-format.patch URL: http://people.redhat.com/anderson/ %if %{with kernel} && %{with dist_kernel} BuildRequires: kernel-module-build >= 2.6 @@ -79,6 +80,7 @@ Ten pakiet zawiera sterownik pamięci /dev/crash do sesji crash na %prep %setup -q -a1 +%patch0 -p1 %{__mv} eppic extensions