summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac1
-rw-r--r--libmsi/libmsi-database.c5
-rw-r--r--libmsi/libmsi-query.c2
-rw-r--r--libmsi/libmsi-summary-info.c3
-rw-r--r--libmsi/table.c2
5 files changed, 7 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index 9bf54f6..42a824d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -53,6 +53,7 @@ nw="$nw -Wsign-conversion" # Likewise.
nw="$nw -Wunused-parameter" # Likewise.
nw="$nw -Wunused-local-typedef" # Likewise.
nw="$nw -Wunused-macros" # Likewise.
+nw="$nw -Wunsafe-loop-optimizations" # Likewise.
# Enable all GCC warnings not in this list.
gl_MANYWARN_COMPLEMENT([warnings], [$warnings], [$nw])
for w in $warnings; do
diff --git a/libmsi/libmsi-database.c b/libmsi/libmsi-database.c
index 350ae62..c3f614a 100644
--- a/libmsi/libmsi-database.c
+++ b/libmsi/libmsi-database.c
@@ -917,7 +917,7 @@ static unsigned msi_add_table_to_db(LibmsiDatabase *db, char **columns, char **t
{
unsigned r = LIBMSI_RESULT_OUTOFMEMORY;
unsigned size;
- LibmsiQuery *view;
+ LibmsiQuery *view = NULL;
char *create_sql = NULL;
char *prelude;
char *columns_sql;
@@ -952,7 +952,8 @@ done:
g_critical ("%s", error->message);
g_clear_error (&error);
- g_object_unref(view);
+ if (view)
+ g_object_unref(view);
msi_free(prelude);
msi_free(columns_sql);
msi_free(postlude);
diff --git a/libmsi/libmsi-query.c b/libmsi/libmsi-query.c
index 6653bbc..759613c 100644
--- a/libmsi/libmsi-query.c
+++ b/libmsi/libmsi-query.c
@@ -253,7 +253,7 @@ LibmsiRecord *_libmsi_query_get_record( LibmsiDatabase *db, const char *fmt, ...
{
LibmsiRecord *rec = NULL;
LibmsiQuery *view = NULL;
- unsigned r;
+ unsigned r = LIBMSI_RESULT_SUCCESS;
va_list va;
char *query;
GError *error = NULL; // FIXME: move error to caller
diff --git a/libmsi/libmsi-summary-info.c b/libmsi/libmsi-summary-info.c
index a7a9571..4108352 100644
--- a/libmsi/libmsi-summary-info.c
+++ b/libmsi/libmsi-summary-info.c
@@ -703,8 +703,7 @@ static void _summary_info_get_property (LibmsiSummaryInfo *si, unsigned uiProper
type = LIBMSI_PROPERTY_TYPE_EMPTY;
break;
default:
- g_warn_if_reached ();
- break;
+ g_return_if_reached ();
}
if (puiDataType)
diff --git a/libmsi/table.c b/libmsi/table.c
index 6414e14..5058ad1 100644
--- a/libmsi/table.c
+++ b/libmsi/table.c
@@ -1227,7 +1227,7 @@ static unsigned _libmsi_add_stream( LibmsiDatabase *db, const char *name, GsfInp
"INSERT INTO `_Streams`(`Name`, `Data`) VALUES (?, ?)";
LibmsiQuery *query = NULL;
LibmsiRecord *rec;
- unsigned r;
+ unsigned r = LIBMSI_RESULT_SUCCESS;
TRACE("%p %s %p\n", db, debugstr_a(name), data);