BSD 3 development
[unix-history] / usr / src / cmd / uucp / pk1.c
index fc340ba..4d0588a 100644 (file)
@@ -145,7 +145,7 @@ struct pack *ipk;
        p = (caddr_t) h;
        hdchk = p[1] ^ p[2] ^ p[3] ^ p[4];
        p += 2;
        p = (caddr_t) h;
        hdchk = p[1] ^ p[2] ^ p[3] ^ p[4];
        p += 2;
-       sum = (unsigned) *p++;
+       sum = (unsigned) *p++ & 0377;
        sum |= (unsigned) *p << 8;
        h->sum = sum;
        PKDEBUG(7, "rec h->cntl %o\n", (unsigned) h->cntl);
        sum |= (unsigned) *p << 8;
        h->sum = sum;
        PKDEBUG(7, "rec h->cntl %o\n", (unsigned) h->cntl);
@@ -260,7 +260,7 @@ register x;
        }
        else {
                *p++ = hdchk = pk->p_lpsize;
        }
        else {
                *p++ = hdchk = pk->p_lpsize;
-               checkword = pk->p_osum[x] ^ (unsigned)cntl;
+               checkword = pk->p_osum[x] ^ (unsigned)(cntl&0377);
        }
        checkword = CHECK - checkword;
        *p = checkword;
        }
        checkword = CHECK - checkword;
        *p = checkword;