From: Michel Normand Subject: nss gcc6 change Date: Mon, 18 Apr 2016 19:11:03 +0200 nss changes required to avoid build error with gcc6 like: === [ 58s] h_page.c: In function 'new_lseek': [ 58s] h_page.c:117:8: error: this 'if' clause does not guard... [-Werror=misleading-indentation] [ 58s] if(offset < 1) [ 58s] ^~ [ 58s] h_page.c:120:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if' [ 58s] cur_pos = lseek(fd, 0, SEEK_CUR); [ 58s] ^~~~~~~ === Signed-off-by: Michel Normand --- cmd/bltest/blapitest.c | 4 +-- cmd/vfychain/vfychain.c | 3 +- lib/dbm/src/h_page.c | 55 +++++++++++++++++++++----------------------- lib/dbm/src/hash.c | 60 ++++++++++++++++++++++++------------------------ 4 files changed, 61 insertions(+), 61 deletions(-) Index: nss/lib/dbm/src/h_page.c =================================================================== --- nss.orig/lib/dbm/src/h_page.c +++ nss/lib/dbm/src/h_page.c @@ -112,26 +112,25 @@ long new_lseek(int fd, long offset, int long end_pos=0; long seek_pos=0; - if(origin == SEEK_CUR) - { - if(offset < 1) - return(lseek(fd, offset, SEEK_CUR)); + if (origin == SEEK_CUR) { + if (offset < 1) + return(lseek(fd, offset, SEEK_CUR)); - cur_pos = lseek(fd, 0, SEEK_CUR); + cur_pos = lseek(fd, 0, SEEK_CUR); + + if (cur_pos < 0) + return(cur_pos); + } - if(cur_pos < 0) - return(cur_pos); - } - end_pos = lseek(fd, 0, SEEK_END); - if(end_pos < 0) + if (end_pos < 0) return(end_pos); - if(origin == SEEK_SET) + if (origin == SEEK_SET) seek_pos = offset; - else if(origin == SEEK_CUR) + else if (origin == SEEK_CUR) seek_pos = cur_pos + offset; - else if(origin == SEEK_END) + else if (origin == SEEK_END) seek_pos = end_pos + offset; else { @@ -143,7 +142,7 @@ long new_lseek(int fd, long offset, int * end of the file. We don't need * to do anything special except the seek. */ - if(seek_pos <= end_pos) + if (seek_pos <= end_pos) return(lseek(fd, seek_pos, SEEK_SET)); /* the seek position is beyond the end of the @@ -161,7 +160,7 @@ long new_lseek(int fd, long offset, int memset(buffer, 0, 1024); while(len > 0) { - if(write(fd, buffer, (size_t)(1024 > len ? len : 1024)) < 0) + if (write(fd, buffer, (size_t)(1024 > len ? len : 1024)) < 0) return(-1); len -= 1024; } @@ -245,10 +244,10 @@ __delpair(HTAB *hashp, BUFHEAD *bufp, in * Once we know dst_offset is < BSIZE, we can subtract it from BSIZE * to get an upper bound on length. */ - if(dst_offset > (uint32)hashp->BSIZE) + if (dst_offset > (uint32)hashp->BSIZE) return(DATABASE_CORRUPTED_ERROR); - if(length > (uint32)(hashp->BSIZE - dst_offset)) + if (length > (uint32)(hashp->BSIZE - dst_offset)) return(DATABASE_CORRUPTED_ERROR); memmove(dst, src, length); @@ -324,7 +323,7 @@ __split_page(HTAB *hashp, uint32 obucket * off. If it is then the database has * been corrupted. */ - if(ino[n] > off) + if (ino[n] > off) return(DATABASE_CORRUPTED_ERROR); key.size = off - ino[n]; @@ -355,7 +354,7 @@ __split_page(HTAB *hashp, uint32 obucket * wrong. LJM */ tmp_uint16_array = (uint16*)np; - if(!PAIRFITS(tmp_uint16_array, &key, &val)) + if (!PAIRFITS(tmp_uint16_array, &key, &val)) return(DATABASE_CORRUPTED_ERROR); putpair(np, &key, &val); @@ -440,7 +439,7 @@ ugly_split(HTAB *hashp, uint32 obucket, */ loop_detection++; - if(loop_detection > MAX_UGLY_SPLIT_LOOPS) + if (loop_detection > MAX_UGLY_SPLIT_LOOPS) return DATABASE_CORRUPTED_ERROR; if (ino[2] < REAL_KEY && ino[2] != OVFLPAGE) { @@ -736,7 +735,7 @@ __get_page(HTAB *hashp, * the maximum number of entries * in the array */ - if((unsigned)max > (size / sizeof(uint16))) + if ((unsigned)max > (size / sizeof(uint16))) return(DATABASE_CORRUPTED_ERROR); /* do the byte order swap @@ -749,7 +748,7 @@ __get_page(HTAB *hashp, /* check the validity of the page here * (after doing byte order swaping if necessary) */ - if(!is_bitmap && bp[0] != 0) + if (!is_bitmap && bp[0] != 0) { uint16 num_keys = bp[0]; uint16 offset; @@ -760,11 +759,11 @@ __get_page(HTAB *hashp, * bp[0] is too large (larger than the whole * page) then the page is corrupted */ - if(bp[0] > (size / sizeof(uint16))) + if (bp[0] > (size / sizeof(uint16))) return(DATABASE_CORRUPTED_ERROR); /* bound free space */ - if(FREESPACE(bp) > size) + if (FREESPACE(bp) > size) return(DATABASE_CORRUPTED_ERROR); /* check each key and data offset to make @@ -776,10 +775,10 @@ __get_page(HTAB *hashp, for(i=1 ; i <= num_keys; i+=2) { /* ignore overflow pages etc. */ - if(bp[i+1] >= REAL_KEY) + if (bp[i+1] >= REAL_KEY) { - if(bp[i] > offset || bp[i+1] > bp[i]) + if (bp[i] > offset || bp[i+1] > bp[i]) return(DATABASE_CORRUPTED_ERROR); offset = bp[i+1]; @@ -832,7 +831,7 @@ __put_page(HTAB *hashp, char *p, uint32 * the maximum number of entries * in the array */ - if((unsigned)max > (size / sizeof(uint16))) + if ((unsigned)max > (size / sizeof(uint16))) return(DATABASE_CORRUPTED_ERROR); for (i = 0; i <= max; i++) @@ -1091,7 +1090,7 @@ __free_ovflpage(HTAB *hashp, BUFHEAD *ob uint32 bit_address, free_page, free_bit; uint16 ndx; - if(!obufp || !obufp->addr) + if (!obufp || !obufp->addr) return; addr = obufp->addr; Index: nss/lib/dbm/src/hash.c =================================================================== --- nss.orig/lib/dbm/src/hash.c +++ nss/lib/dbm/src/hash.c @@ -154,7 +154,7 @@ __hash_open(const char *file, int flags, return NULL; } hashp->fp = NO_FILE; - if(file) + if (file) hashp->filename = strdup(file); /* @@ -172,7 +172,7 @@ __hash_open(const char *file, int flags, errno = 0; /* Just in case someone looks at errno */ new_table = 1; } - else if(statbuf.st_mtime && statbuf.st_size == 0) + else if (statbuf.st_mtime && statbuf.st_size == 0) { /* check for a zero length file and delete it * if it exists @@ -288,7 +288,7 @@ hash_close(DB *dbp) return (DBM_ERROR); hashp = (HTAB *)dbp->internal; - if(!hashp) + if (!hashp) return (DBM_ERROR); retval = hdestroy(hashp); @@ -304,7 +304,7 @@ static int hash_fd(const DB *dbp) return (DBM_ERROR); hashp = (HTAB *)dbp->internal; - if(!hashp) + if (!hashp) return (DBM_ERROR); if (hashp->fp == -1) { @@ -480,7 +480,7 @@ hdestroy(HTAB *hashp) if (hashp->fp != -1) (void)close(hashp->fp); - if(hashp->filename) { + if (hashp->filename) { #if defined(_WIN32) || defined(_WINDOWS) || defined(XP_OS2) if (hashp->is_temp) (void)unlink(hashp->filename); @@ -578,7 +578,7 @@ hash_sync(const DB *dbp, uint flags) return (DBM_ERROR); hashp = (HTAB *)dbp->internal; - if(!hashp) + if (!hashp) return (DBM_ERROR); if (!hashp->save_file) @@ -670,7 +670,7 @@ hash_get( rv = hash_access(hashp, HASH_GET, (DBT *)key, data); - if(rv == DATABASE_CORRUPTED_ERROR) + if (rv == DATABASE_CORRUPTED_ERROR) { #if defined(unix) && defined(DEBUG) printf("\n\nDBM Database has been corrupted, tell Lou...\n\n"); @@ -707,7 +707,7 @@ hash_put( rv = hash_access(hashp, flag == R_NOOVERWRITE ? HASH_PUTNEW : HASH_PUT, (DBT *)key, (DBT *)data); - if(rv == DATABASE_CORRUPTED_ERROR) + if (rv == DATABASE_CORRUPTED_ERROR) { #if defined(unix) && defined(DEBUG) printf("\n\nDBM Database has been corrupted, tell Lou...\n\n"); @@ -741,7 +741,7 @@ hash_delete( } rv = hash_access(hashp, HASH_DELETE, (DBT *)key, NULL); - if(rv == DATABASE_CORRUPTED_ERROR) + if (rv == DATABASE_CORRUPTED_ERROR) { #if defined(unix) && defined(DEBUG) printf("\n\nDBM Database has been corrupted, tell Lou...\n\n"); @@ -802,27 +802,27 @@ hash_access( ndx += 2; } else if (bp[1] == OVFLPAGE) { - /* database corruption: overflow loop detection */ - if(last_overflow_page_no == (int32)*bp) - return (DATABASE_CORRUPTED_ERROR); - - last_overflow_page_no = *bp; - - rbufp = __get_buf(hashp, *bp, rbufp, 0); - if (!rbufp) { - save_bufp->flags &= ~BUF_PIN; - return (DBM_ERROR); - } - - ovfl_loop_count++; - if(ovfl_loop_count > MAX_OVERFLOW_HASH_ACCESS_LOOPS) - return (DATABASE_CORRUPTED_ERROR); - - /* FOR LOOP INIT */ - bp = (uint16 *)rbufp->page; - n = *bp++; - ndx = 1; - off = hashp->BSIZE; + /* database corruption: overflow loop detection */ + if (last_overflow_page_no == (int32)*bp) + return (DATABASE_CORRUPTED_ERROR); + + last_overflow_page_no = *bp; + + rbufp = __get_buf(hashp, *bp, rbufp, 0); + if (!rbufp) { + save_bufp->flags &= ~BUF_PIN; + return (DBM_ERROR); + } + + ovfl_loop_count++; + if (ovfl_loop_count > MAX_OVERFLOW_HASH_ACCESS_LOOPS) + return (DATABASE_CORRUPTED_ERROR); + + /* FOR LOOP INIT */ + bp = (uint16 *)rbufp->page; + n = *bp++; + ndx = 1; + off = hashp->BSIZE; } else if (bp[1] < REAL_KEY) { if ((ndx = __find_bigpair(hashp, rbufp, ndx, kp, (int)size)) > 0) Index: nss/cmd/bltest/blapitest.c =================================================================== --- nss.orig/cmd/bltest/blapitest.c +++ nss/cmd/bltest/blapitest.c @@ -1571,8 +1571,8 @@ bltest_seed_init(bltestCipherInfo *ciphe cipherInfo->cipher.symmkeyCipher = seed_Encrypt; else cipherInfo->cipher.symmkeyCipher = seed_Decrypt; - - return SECSuccess; + + return SECSuccess; } SECStatus Index: nss/cmd/vfychain/vfychain.c =================================================================== --- nss.orig/cmd/vfychain/vfychain.c +++ nss/cmd/vfychain/vfychain.c @@ -439,7 +439,8 @@ main(int argc, char *argv[], char *envp[ case 0 : /* positional parameter */ goto breakout; case 'a' : isAscii = PR_TRUE; break; case 'b' : secStatus = DER_AsciiToTime(&time, optstate->value); - if (secStatus != SECSuccess) Usage(progName); break; + if (secStatus != SECSuccess) Usage(progName); + break; case 'd' : certDir = PL_strdup(optstate->value); break; case 'e' : ocsp_fetchingFailureIsAFailure = PR_FALSE; break; case 'f' : certFetching = PR_TRUE; break;