diff options
author | imp <imp@FreeBSD.org> | 1997-07-29 04:17:19 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 1997-07-29 04:17:19 +0000 |
commit | b1debf973d6a489bfe9c6511c94e356d6c024a47 (patch) | |
tree | 58de2e9f99438beeb37077a12a91d565f0aa5ae0 /usr.sbin/lpr/common_source/rmjob.c | |
parent | 62296c6450c3104df51d51aa47ad4b74faae7e6b (diff) | |
download | FreeBSD-src-b1debf973d6a489bfe9c6511c94e356d6c024a47.zip FreeBSD-src-b1debf973d6a489bfe9c6511c94e356d6c024a47.tar.gz |
Fix boatloads of buffer overflows from the OpenBSD tree.
Be pedantic about always using sizeof(blah) vs sizeof (blah) or sizeof blah.
Obtained from:OpenBSD
Diffstat (limited to 'usr.sbin/lpr/common_source/rmjob.c')
-rw-r--r-- | usr.sbin/lpr/common_source/rmjob.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/usr.sbin/lpr/common_source/rmjob.c b/usr.sbin/lpr/common_source/rmjob.c index a04b483..c5f79d4 100644 --- a/usr.sbin/lpr/common_source/rmjob.c +++ b/usr.sbin/lpr/common_source/rmjob.c @@ -88,7 +88,7 @@ rmjob() if (cgetstr(bp,"lo", &LO) < 0) LO = DEFLOCK; cgetstr(bp, "rm", &RM); - if (cp = checkremote()) + if ((cp = checkremote())) printf("Warning: %s\n", cp); /* @@ -325,12 +325,12 @@ rmremote() (void)snprintf(buf, sizeof(buf), "\5%s %s", RP, all ? "-all" : person); cp = buf; - for (i = 0; i < users; i++) { + for (i = 0; i < users && cp-buf+1+strlen(user[i]) < sizeof(buf); i++) { cp += strlen(cp); *cp++ = ' '; strcpy(cp, user[i]); } - for (i = 0; i < requests; i++) { + for (i = 0; i < requests && cp-buf+10 < sizeof(buf); i++) { cp += strlen(cp); (void) sprintf(cp, " %d", requ[i]); } |