Index: gsf/gsf-infile-zip.c
===================================================================
--- gsf/gsf-infile-zip.c	(revision 1020)
+++ gsf/gsf-infile-zip.c	(working copy)
@@ -411,9 +411,9 @@
 	}
 
 	if (NULL != err) {
-		g_print (err);
+		g_print ("%s", err);
 		if (errmsg != NULL)
-			*errmsg = g_error_new (gsf_input_error_id (), 0, err);
+			*errmsg = g_error_new (gsf_input_error_id (), 0, "%s", err);
 		g_free (err);
 		return TRUE;
 	}
Index: gsf/gsf-output-stdio.c
===================================================================
--- gsf/gsf-output-stdio.c	(revision 1020)
+++ gsf/gsf-output-stdio.c	(working copy)
@@ -260,7 +260,7 @@
 			saved_errno = errno;
 		res = gsf_output_set_error (output,
 					    saved_errno,
-					    g_strerror (saved_errno));
+					    "%s", g_strerror (saved_errno));
 	} else {
 		/* Restore permissions.  There is not much error checking we
 		 * can do here, I'm afraid.  The final data is saved anyways.
@@ -341,7 +341,7 @@
 	if (0 == fseek (stdio->file, loffset, stdio_whence))
 		return TRUE;
 #endif
-	return gsf_output_set_error (output, errno, g_strerror (errno));
+	return gsf_output_set_error (output, errno, "%s", g_strerror (errno));
 }
 
 static gboolean
@@ -361,7 +361,7 @@
 		written = fwrite (buffer + (num_bytes - remaining), 1, 
 				  remaining, stdio->file);
 		if ((written < remaining) && ferror (stdio->file) != 0)
-			return gsf_output_set_error (output, errno, g_strerror (errno));
+			return gsf_output_set_error (output, errno, "%s", g_strerror (errno));
 
 		remaining -= written;
 	}
Index: gsf/gsf-infile-msvba.c
===================================================================
--- gsf/gsf-infile-msvba.c	(revision 1020)
+++ gsf/gsf-infile-msvba.c	(working copy)
@@ -269,7 +269,7 @@
 
 	if (failed) {
 		if (err != NULL)
-			*err = g_error_new (gsf_input_error_id (), 0, msg);
+			*err = g_error_new (gsf_input_error_id (), 0, "%s", msg);
 		return FALSE;
 	}
 	return TRUE;
Index: gsf-gnome/gsf-input-bonobo.c
===================================================================
--- gsf-gnome/gsf-input-bonobo.c	(revision 1020)
+++ gsf-gnome/gsf-input-bonobo.c	(working copy)
@@ -57,7 +57,7 @@
 	Bonobo_Stream_seek (binput->shared->stream, new_pos,
 			    Bonobo_Stream_SeekSet, &ev);
 	if (BONOBO_EX (&ev)) {
-		g_warning (bonobo_exception_get_text (&ev));
+		g_warning ("%s", bonobo_exception_get_text (&ev));
 		CORBA_exception_free (&ev);
 		return -1;
 	} else {
@@ -203,7 +203,7 @@
 	Bonobo_Stream_read (binput->shared->stream, (CORBA_long) num_bytes,
 			    &bsibuf, &ev);
 	if (BONOBO_EX (&ev)) {
-		g_warning (bonobo_exception_get_text (&ev));
+		g_warning ("%s", bonobo_exception_get_text (&ev));
 		return NULL;
 	} else {
 		memcpy (buffer, bsibuf->_buffer, bsibuf->_length);
@@ -260,7 +260,7 @@
 	pos = Bonobo_Stream_seek
 		(binput->shared->stream, coffset, bwhence, &ev);
 	if (BONOBO_EX (&ev)) {
-		g_warning (bonobo_exception_get_text (&ev));
+		g_warning ("%s", bonobo_exception_get_text (&ev));
 		return TRUE;
 	} else {
 		binput->shared->pos = pos;
Index: gsf-gnome/gsf-output-bonobo.c
===================================================================
--- gsf-gnome/gsf-output-bonobo.c	(revision 1020)
+++ gsf-gnome/gsf-output-bonobo.c	(working copy)
@@ -94,7 +94,7 @@
 		(bonobo->stream, offset, bwhence, &ev);
 	if (BONOBO_EX (&ev)) {
 		gsf_output_set_error (output, 0,
-			bonobo_exception_get_text (&ev));
+			"%s", bonobo_exception_get_text (&ev));
 		CORBA_exception_free (&ev);
 		return FALSE;
 	}
@@ -120,7 +120,7 @@
 	CORBA_exception_init (&ev);
 	Bonobo_Stream_write (bonobo->stream, bsobuf, &ev);
 	if (BONOBO_EX (&ev)) {
-		g_warning (bonobo_exception_get_text (&ev));
+		g_warning ("%s", bonobo_exception_get_text (&ev));
 		CORBA_exception_free (&ev);
 		return FALSE;
 	}
