This is an automated email from the ASF dual-hosted git repository.

arielch pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/openoffice.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 4363d9e  Fixes from upstream for newer GCC
4363d9e is described below

commit 4363d9ee5e5c293c9bd85e268df59a8aa7a874c4
Author: Ariel Constenla-Haile <[email protected]>
AuthorDate: Thu Oct 31 10:28:47 2019 -0300

    Fixes from upstream for newer GCC
    
    Bug 1348767 - logical rather than bitwise OR operator used in OCSP requests
    Bug 1437734 - sign.c use of sprintf generates format-overflow errors
    Bug 1438426 - stringop-truncation warning in pathsub.c
---
 main/nss/makefile.mk           |   5 +-
 main/nss/nss_bug_1348767.patch |  14 ++++++
 main/nss/nss_bug_1437734.patch | 107 +++++++++++++++++++++++++++++++++++++++++
 main/nss/nss_bug_1438426.patch |  12 +++++
 4 files changed, 137 insertions(+), 1 deletion(-)

diff --git a/main/nss/makefile.mk b/main/nss/makefile.mk
index c2d51a5..6e717f0 100644
--- a/main/nss/makefile.mk
+++ b/main/nss/makefile.mk
@@ -42,7 +42,10 @@ all:
 TARFILE_NAME=nss-3.25-with-nspr-4.12
 TARFILE_MD5=4ec9a36c0f7c9360b149491c013b8d50
 TARFILE_ROOTDIR=nss-3.25
-PATCH_FILES=nss.patch
+PATCH_FILES=nss.patch \
+       nss_bug_1438426.patch \
+       nss_bug_1348767.patch \
+       nss_bug_1437734.patch
 
 .IF "$(OS)"=="MACOSX"
 MACOS_SDK_DIR=$(SDK_PATH)
diff --git a/main/nss/nss_bug_1348767.patch b/main/nss/nss_bug_1348767.patch
new file mode 100644
index 0000000..b776682
--- /dev/null
+++ b/main/nss/nss_bug_1348767.patch
@@ -0,0 +1,14 @@
+diff -uNrp misc/nss-3.25/nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocsprequest.c 
misc/build/nss-3.25/nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocsprequest.c
+--- misc/nss-3.25/nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocsprequest.c        
2016-06-20 14:11:28.000000000 -0300
++++ misc/build/nss-3.25/nss/lib/libpkix/pkix_pl_nss/pki/pkix_pl_ocsprequest.c  
2019-10-27 12:38:20.163600289 -0300
+@@ -89,8 +89,8 @@ pkix_pl_OcspRequest_Hashcode(
+         PKIX_HASHCODE(ocspRq->signerCert, &signerHash, plContext,
+                 PKIX_CERTHASHCODEFAILED);
+ 
+-        *pHashcode = (((((extensionHash << 8) || certHash) << 8) ||
+-                dateHash) << 8) || signerHash;
++        *pHashcode = (((((extensionHash << 8) | certHash) << 8) |
++                dateHash) << 8) | signerHash;
+ 
+ cleanup:
+ 
diff --git a/main/nss/nss_bug_1437734.patch b/main/nss/nss_bug_1437734.patch
new file mode 100644
index 0000000..19e7ead
--- /dev/null
+++ b/main/nss/nss_bug_1437734.patch
@@ -0,0 +1,107 @@
+--- misc/nss-3.25/nss/cmd/signtool/sign.c      2016-06-20 14:11:28.000000000 
-0300
++++ misc/build/nss-3.25/nss/cmd/signtool/sign.c        2019-10-28 
21:16:32.798336910 -0300
+@@ -43,6 +43,7 @@ SignArchive(char *tree, char *keyName, c
+     int status;
+     char tempfn[FNSIZE], fullfn[FNSIZE];
+     int keyType = rsaKey;
++    int count;
+ 
+     metafile = meta_file;
+     optimize = _optimize;
+@@ -81,11 +82,18 @@ SignArchive(char *tree, char *keyName, c
+         }
+ 
+         /* rsa/dsa to zip */
+-        sprintf(tempfn, "META-INF/%s.%s", base, (keyType == dsaKey ?
+-                                                                   "dsa"
+-                                                                   :
+-                                                                   "rsa"));
+-        sprintf(fullfn, "%s/%s", tree, tempfn);
++        count = snprintf(tempfn, sizeof(tempfn), "META-INF/%s.%s", base, 
(keyType == dsaKey ? "dsa" : "rsa"));
++        if (count >= sizeof(tempfn)) {
++            PR_fprintf(errorFD, "unable to write key metadata\n");
++            errorCount++;
++            exit(ERRX);
++        }
++        count = snprintf(fullfn, sizeof(fullfn), "%s/%s", tree, tempfn);
++        if (count >= sizeof(fullfn)) {
++            PR_fprintf(errorFD, "unable to write key metadata\n");
++            errorCount++;
++            exit(ERRX);
++        }
+         JzipAdd(fullfn, tempfn, zipfile, compression_level);
+ 
+         /* Loop through all files & subdirectories, add to archive */
+@@ -95,22 +103,44 @@ SignArchive(char *tree, char *keyName, c
+     }
+     /* mf to zip */
+     strcpy(tempfn, "META-INF/manifest.mf");
+-    sprintf(fullfn, "%s/%s", tree, tempfn);
++    count = snprintf(fullfn, sizeof(fullfn), "%s/%s", tree, tempfn);
++    if (count >= sizeof(fullfn)) {
++        PR_fprintf(errorFD, "unable to write manifest\n");
++        errorCount++;
++        exit(ERRX);
++    }
+     JzipAdd(fullfn, tempfn, zipfile, compression_level);
+ 
+     /* sf to zip */
+-    sprintf(tempfn, "META-INF/%s.sf", base);
+-    sprintf(fullfn, "%s/%s", tree, tempfn);
++    count = snprintf(tempfn, sizeof(tempfn), "META-INF/%s.sf", base);
++    if (count >= sizeof(tempfn)) {
++        PR_fprintf(errorFD, "unable to write sf metadata\n");
++        errorCount++;
++        exit(ERRX);
++    }
++    count = snprintf(fullfn, sizeof(fullfn), "%s/%s", tree, tempfn);
++    if (count >= sizeof(fullfn)) {
++        PR_fprintf(errorFD, "unable to write sf metadata\n");
++        errorCount++;
++        exit(ERRX);
++    }
+     JzipAdd(fullfn, tempfn, zipfile, compression_level);
+ 
+     /* Add the rsa/dsa file to the zip archive normally */
+     if (!xpi_arc) {
+         /* rsa/dsa to zip */
+-        sprintf(tempfn, "META-INF/%s.%s", base, (keyType == dsaKey ?
+-                                                                   "dsa"
+-                                                                   :
+-                                                                   "rsa"));
+-        sprintf(fullfn, "%s/%s", tree, tempfn);
++        count = snprintf(tempfn, sizeof(tempfn), "META-INF/%s.%s", base, 
(keyType == dsaKey ? "dsa" : "rsa"));
++        if (count >= sizeof(tempfn)) {
++            PR_fprintf(errorFD, "unable to write key metadata\n");
++            errorCount++;
++            exit(ERRX);
++        }
++        count = snprintf(fullfn, sizeof(fullfn), "%s/%s", tree, tempfn);
++        if (count >= sizeof(fullfn)) {
++            PR_fprintf(errorFD, "unable to write key metadata\n");
++            errorCount++;
++            exit(ERRX);
++        }
+         JzipAdd(fullfn, tempfn, zipfile, compression_level);
+     }
+ 
+@@ -413,6 +443,7 @@ static int
+ manifesto_xpi_fn(char *relpath, char *basedir, char *reldir, char *filename, 
void *arg)
+ {
+     char fullname[FNSIZE];
++    int count;
+ 
+     if (verbosity >= 0) {
+         PR_fprintf(outputFD, "--> %s\n", relpath);
+@@ -426,7 +457,10 @@ manifesto_xpi_fn(char *relpath, char *ba
+         if (!PL_HashTableLookup(extensions, ext))
+             return 0;
+     }
+-    sprintf(fullname, "%s/%s", basedir, relpath);
++    count = snprintf(fullname, sizeof(fullname), "%s/%s", basedir, relpath);
++    if (count >= sizeof(fullname)) {
++        return 1;
++    }
+     JzipAdd(fullname, relpath, zipfile, compression_level);
+ 
+     return 0;
diff --git a/main/nss/nss_bug_1438426.patch b/main/nss/nss_bug_1438426.patch
new file mode 100644
index 0000000..978c270
--- /dev/null
+++ b/main/nss/nss_bug_1438426.patch
@@ -0,0 +1,12 @@
+diff -uNrp misc/nss-3.25/nss/coreconf/nsinstall/pathsub.c 
misc/build/nss-3.25/nss/coreconf/nsinstall/pathsub.c
+--- misc/nss-3.25/nss/coreconf/nsinstall/pathsub.c     2016-06-20 
14:11:28.000000000 -0300
++++ misc/build/nss-3.25/nss/coreconf/nsinstall/pathsub.c       2019-10-27 
12:26:03.251950354 -0300
+@@ -214,7 +214,7 @@ reversepath(char *inpath, char *name, in
+           xchdir("..");
+       } else {
+           cp -= 3;
+-          strncpy(cp, "../", 3);
++          memcpy(cp, "../", 3);
+           xchdir(buf);
+       }
+     }

Reply via email to