diff --git a/gtk/scaffolding.c b/gtk/scaffolding.c index 0589b1e0f..b39283cc6 100644 --- a/gtk/scaffolding.c +++ b/gtk/scaffolding.c @@ -1867,7 +1867,8 @@ nsgtk_scaffolding *nsgtk_new_scaffolding(struct gui_window *toplevel) g->xml = gtk_builder_new(); if (!gtk_builder_add_from_file(g->xml, glade_file_location->netsurf, &error)) { g_warning("Couldn't load builder file: \"%s\"", error->message); - g_error_free (error); + g_error_free(error); + free(g); return NULL; } diff --git a/javascript/jsapi/navigator.bnd b/javascript/jsapi/navigator.bnd index 5a0bb395b..94be63687 100644 --- a/javascript/jsapi/navigator.bnd +++ b/javascript/jsapi/navigator.bnd @@ -95,22 +95,25 @@ getter language %{ %} getter platform %{ - struct utsname *cutsname; + struct utsname *cutsname; - cutsname = malloc(sizeof(struct utsname)); + cutsname = malloc(sizeof(struct utsname)); - if ((cutsname != NULL) && (uname(cutsname) >= 0)) { - char *platstr; - int platstrlen; + if (cutsname != NULL) { + if (uname(cutsname) >= 0) { + char *platstr; + int platstrlen; - platstrlen = strlen(cutsname->sysname) + strlen(cutsname->machine) + 2; - platstr = malloc(platstrlen); - if (platstr != NULL) { - snprintf(platstr, platstrlen, "%s %s", cutsname->sysname, cutsname->machine); - jsret = JS_NewStringCopyN(cx, platstr, platstrlen - 1); - free(platstr); - } - } + platstrlen = strlen(cutsname->sysname) + strlen(cutsname->machine) + 2; + platstr = malloc(platstrlen); + if (platstr != NULL) { + snprintf(platstr, platstrlen, "%s %s", cutsname->sysname, cutsname->machine); + jsret = JS_NewStringCopyN(cx, platstr, platstrlen - 1); + free(platstr); + } + } + free(cutsname); + } %} getter userAgent %{ diff --git a/utils/coverity-build.sh b/utils/coverity-build.sh new file mode 100755 index 000000000..a94ee4401 --- /dev/null +++ b/utils/coverity-build.sh @@ -0,0 +1,70 @@ +#!/bin/bash +# +# Copyright © 2013 Vincent Sanders +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# * The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +# CI system coverity build and submission script +# +# Usage: coverity-build.sh +# + +# environment variables +# +# COVERITY_TOKEN +# COVERITY_USER +# COVERITY_PREFIX path to tools else default is used +# +# either PREFIX or JENKINS_HOME + +# build gtk, framebuffer and monkey frontend by default +TARGETS="gtk framebuffer monkey" + +# We build for the Linux platform by default +ARTIFACT_TARGET=${TARGET:-Linux} + +# setup build environment +export PREFIX=${PREFIX:-${JENKINS_HOME}/artifacts-${ARTIFACT_TARGET}} +export PKG_CONFIG_PATH=${PREFIX}/lib/pkgconfig +export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${PREFIX}/lib +export PATH=${PATH}:${PREFIX}/bin + +# Coverity tools location +COVERITY_PREFIX=${COVERITY_PREFIX:-/opt/coverity/cov-analysis-linux64-6.6.1} +COVERITY_VERSION=$(git rev-parse HEAD) + +export PATH=${PATH}:${COVERITY_PREFIX}/bin + +# cleanup before we start +rm -rf cov-int/ covns.tar.gz covns.tar + +for TARGET in ${TARGETS}; do + make clean TARGET=${TARGET} +done + +# Do the builds using coverity data gathering tool +for TARGET in ${TARGETS}; do + cov-build --dir cov-int make CCACHE= TARGET=${TARGET} +done + +tar cf covns.tar cov-int + +gzip -9 covns.tar + +curl --form "project=NetSurf Browser" --form "token=${COVERITY_TOKEN}" --form "email=${COVERITY_USER}" --form "file=@covns.tar.gz" --form "version=${COVERITY_VERSION}" --form "description=Git Head build" http://scan5.coverity.com/cgi-bin/upload.py \ No newline at end of file diff --git a/utils/jenkins-build.sh b/utils/jenkins-build.sh index 9d236a153..9e6f0d273 100755 --- a/utils/jenkins-build.sh +++ b/utils/jenkins-build.sh @@ -93,11 +93,13 @@ case ${TARGET} in "i686-apple-darwin10") ARTIFACT_TARGET=Darwin IDENTIFIER="${label}-${IDENTIFIER}" + OLD_IDENTIFIER="${label}-${OLD_IDENTIFIER}" ;; "powerpc-apple-darwin9") ARTIFACT_TARGET=powerpc-apple-darwin9 IDENTIFIER="${ARTIFACT_TARGET}-${IDENTIFIER}" + OLD_IDENTIFIER="${ARTIFACT_TARGET}-${OLD_IDENTIFIER}" ;; *) @@ -155,6 +157,7 @@ case ${TARGET} in esac IDENTIFIER="${ARTIFACT_TARGET}-${IDENTIFIER}" + OLD_IDENTIFIER="${ARTIFACT_TARGET}-${OLD_IDENTIFIER}" ;; @@ -287,6 +290,7 @@ case ${TARGET} in esac IDENTIFIER="${label}-${IDENTIFIER}" + OLD_IDENTIFIER="${label}-${OLD_IDENTIFIER}" PKG_SRC=nsmonkey PKG_SFX= ;;