# HG changeset patch # User Michael Albinus # Date 1219955292 0 # Node ID 14fccbb34a1651fab637412f0132521920627d60 # Parent 5d474cdb19f8a6b45175e09e870865e7dcb61c6d * dbusbind.c (XD_ERROR, XD_DEBUG_MESSAGE): Use strncpy and snprintf, respectively. (xd_append_arg): Convert strings with Fstring_make_unibyte. diff -r 5d474cdb19f8 -r 14fccbb34a16 src/dbusbind.c --- a/src/dbusbind.c Thu Aug 28 20:19:17 2008 +0000 +++ b/src/dbusbind.c Thu Aug 28 20:28:12 2008 +0000 @@ -71,7 +71,7 @@ #define XD_ERROR(error) \ do { \ char s[1024]; \ - strcpy (s, error.message); \ + strncpy (s, error.message, 1023); \ dbus_error_free (&error); \ /* Remove the trailing newline. */ \ if (strchr (s, '\n') != NULL) \ @@ -85,7 +85,7 @@ #define XD_DEBUG_MESSAGE(...) \ do { \ char s[1024]; \ - sprintf (s, __VA_ARGS__); \ + snprintf (s, 1023, __VA_ARGS__); \ printf ("%s: %s\n", __func__, s); \ message ("%s: %s", __func__, s); \ } while (0) @@ -104,7 +104,7 @@ if (!NILP (Vdbus_debug)) \ { \ char s[1024]; \ - sprintf (s, __VA_ARGS__); \ + snprintf (s, 1023, __VA_ARGS__); \ message ("%s: %s", __func__, s); \ } \ } while (0) @@ -179,7 +179,7 @@ signature is embedded, or DBUS_TYPE_INVALID. It is needed for the check that DBUS_TYPE_DICT_ENTRY occurs only as array element. */ void -xd_signature(signature, dtype, parent_type, object) +xd_signature (signature, dtype, parent_type, object) char *signature; unsigned int dtype, parent_type; Lisp_Object object; @@ -454,7 +454,7 @@ case DBUS_TYPE_OBJECT_PATH: case DBUS_TYPE_SIGNATURE: { - char *val = SDATA (object); + char *val = SDATA (Fstring_make_unibyte (object)); XD_DEBUG_MESSAGE ("%c %s", dtype, val); if (!dbus_message_iter_append_basic (iter, dtype, &val)) xsignal2 (Qdbus_error,