Date: Wed, 4 Nov 2009 16:03:47 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org Subject: svn commit: r198900 - stable/8/sbin/ddb Message-ID: <200911041603.nA4G3lZ0037419@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jhb Date: Wed Nov 4 16:03:47 2009 New Revision: 198900 URL: http://svn.freebsd.org/changeset/base/198900 Log: MFC 198585: When extracting the capture buffer from a crashdump, only read the valid portion of the capture buffer. Modified: stable/8/sbin/ddb/ddb_capture.c Directory Properties: stable/8/sbin/ddb/ (props changed) Modified: stable/8/sbin/ddb/ddb_capture.c ============================================================================== --- stable/8/sbin/ddb/ddb_capture.c Wed Nov 4 15:40:19 2009 (r198899) +++ stable/8/sbin/ddb/ddb_capture.c Wed Nov 4 16:03:47 2009 (r198900) @@ -95,24 +95,24 @@ kread_symbol(kvm_t *kvm, int index, void static void ddb_capture_print_kvm(kvm_t *kvm) { - u_int db_capture_bufsize; + u_int db_capture_bufoff; char *buffer, *db_capture_buf; if (kread_symbol(kvm, X_DB_CAPTURE_BUF, &db_capture_buf, sizeof(db_capture_buf), 0) < 0) errx(-1, "kvm: unable to read db_capture_buf"); - if (kread_symbol(kvm, X_DB_CAPTURE_BUFSIZE, &db_capture_bufsize, - sizeof(db_capture_bufsize), 0) < 0) - errx(-1, "kvm: unable to read db_capture_bufsize"); + if (kread_symbol(kvm, X_DB_CAPTURE_BUFOFF, &db_capture_bufoff, + sizeof(db_capture_bufoff), 0) < 0) + errx(-1, "kvm: unable to read db_capture_bufoff"); - buffer = malloc(db_capture_bufsize + 1); + buffer = malloc(db_capture_bufoff + 1); if (buffer == NULL) - err(-1, "malloc: db_capture_bufsize (%u)", - db_capture_bufsize); - bzero(buffer, db_capture_bufsize + 1); + err(-1, "malloc: db_capture_bufoff (%u)", + db_capture_bufoff); + bzero(buffer, db_capture_bufoff + 1); - if (kread(kvm, db_capture_buf, buffer, db_capture_bufsize, 0) < 0) + if (kread(kvm, db_capture_buf, buffer, db_capture_bufoff, 0) < 0) errx(-1, "kvm: unable to read buffer"); printf("%s\n", buffer); @@ -161,7 +161,7 @@ ddb_capture_status_kvm(kvm_t *kvm) errx(-1, "kvm: unable to read db_capture_bufsize"); if (kread_symbol(kvm, X_DB_CAPTURE_INPROGRESS, &db_capture_inprogress, sizeof(db_capture_inprogress), 0) < 0) - err(-1, "kvm: unable to read db_capture_inpgoress"); + err(-1, "kvm: unable to read db_capture_inprogress"); printf("%u/%u bytes used\n", db_capture_bufoff, db_capture_bufsize); if (db_capture_inprogress) printf("capture is on\n");
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200911041603.nA4G3lZ0037419>