PERFORCE change 79196 for review
Peter Wemm
peter at FreeBSD.org
Wed Jun 29 21:50:24 GMT 2005
http://perforce.freebsd.org/chv.cgi?CH=79196
Change 79196 by peter at peter_daintree on 2005/06/29 21:50:17
OK, kvm_kvatop() should have been off_t.
While here, fix the type of pa that we pass a pointer
to - fixed potential stack corruption here on 32 bit platform.
Affected files ...
.. //depot/projects/hammer/lib/libkvm/kvm.c#6 edit
.. //depot/projects/hammer/lib/libkvm/kvm_private.h#3 edit
Differences ...
==== //depot/projects/hammer/lib/libkvm/kvm.c#6 (text+ko) ====
@@ -369,7 +369,7 @@
} else {
cp = buf;
while (len > 0) {
- u_long pa;
+ off_t pa;
cc = _kvm_kvatop(kd, kva, &pa);
if (cc == 0)
@@ -377,7 +377,7 @@
if (cc > len)
cc = len;
errno = 0;
- if (lseek(kd->pmfd, (off_t)pa, 0) == -1 && errno != 0) {
+ if (lseek(kd->pmfd, pa, 0) == -1 && errno != 0) {
_kvm_syserr(kd, 0, _PATH_MEM);
break;
}
==== //depot/projects/hammer/lib/libkvm/kvm_private.h#3 (text+ko) ====
@@ -75,7 +75,7 @@
void _kvm_freeprocs(kvm_t *kd);
void _kvm_freevtop(kvm_t *);
int _kvm_initvtop(kvm_t *);
-int _kvm_kvatop(kvm_t *, u_long, uint64_t *);
+int _kvm_kvatop(kvm_t *, u_long, off_t *);
void *_kvm_malloc(kvm_t *kd, size_t);
void *_kvm_realloc(kvm_t *kd, void *, size_t);
void _kvm_syserr (kvm_t *kd, const char *program, const char *fmt, ...)
More information about the p4-projects
mailing list