Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler.
Number of rules (primarily dangerous function names) in C/C++ ruleset: 223
Examining data/telepathy-logger-0.8.2/extensions/_gen/interfaces.h
Examining data/telepathy-logger-0.8.2/extensions/_gen/svc-misc.h
Examining data/telepathy-logger-0.8.2/extensions/_gen/enums.h
Examining data/telepathy-logger-0.8.2/extensions/_gen/gtypes.h
Examining data/telepathy-logger-0.8.2/extensions/_gen/cli-misc.h
Examining data/telepathy-logger-0.8.2/extensions/extensions.c
Examining data/telepathy-logger-0.8.2/extensions/extensions.h
Examining data/telepathy-logger-0.8.2/extensions/extensions-cli.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/action-chain-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/call-event.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/call-channel-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-manager-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/util-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/text-event.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store-empathy-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/text-event-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store-xml-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/client-factory.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store-sqlite-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/dbus-service-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/util.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/action-chain.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/event.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-iter-pidgin-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/observer.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-iter.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/entity.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/call-event.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store-factory-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/entity.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/call-channel.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/debug.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store-pidgin.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store-xml.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/entity-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/observer-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store-factory.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/conf-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/conf.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-manager.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store-pidgin-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/event-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-iter-xml-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/dbus-service.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-iter-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/text-channel.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/telepathy-logger.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store-empathy.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/text-event.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/text-channel-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/debug-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-iter-xml.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/call-event-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/client-factory-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-iter-pidgin.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-walker.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-walker-internal.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/event.h
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-manager.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-store-sqlite.c
Examining data/telepathy-logger-0.8.2/telepathy-logger/log-walker.c
Examining data/telepathy-logger-0.8.2/tests/lib/util.h
Examining data/telepathy-logger-0.8.2/tests/lib/textchan-null.h
Examining data/telepathy-logger-0.8.2/tests/lib/textchan-null.c
Examining data/telepathy-logger-0.8.2/tests/lib/simple-account.c
Examining data/telepathy-logger-0.8.2/tests/lib/util.c
Examining data/telepathy-logger-0.8.2/tests/lib/simple-conn.c
Examining data/telepathy-logger-0.8.2/tests/lib/contacts-conn.c
Examining data/telepathy-logger-0.8.2/tests/lib/contacts-conn.h
Examining data/telepathy-logger-0.8.2/tests/lib/simple-account-manager.h
Examining data/telepathy-logger-0.8.2/tests/lib/simple-account-manager.c
Examining data/telepathy-logger-0.8.2/tests/lib/simple-conn.h
Examining data/telepathy-logger-0.8.2/tests/lib/simple-account.h
Examining data/telepathy-logger-0.8.2/tests/test-tpl-conf.c
Examining data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-store-xml.c
Examining data/telepathy-logger-0.8.2/tests/dbus/test-entity.c
Examining data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-iter-xml.c
Examining data/telepathy-logger-0.8.2/tests/dbus/test-log-manager.c
Examining data/telepathy-logger-0.8.2/tests/dbus/test-tpl-observer.c
Examining data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-iter-pidgin.c
Examining data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-walker.c
Examining data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-store-pidgin.c
Examining data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-store-sqlite.c
Examining data/telepathy-logger-0.8.2/src/test-api.c
Examining data/telepathy-logger-0.8.2/src/telepathy-logger.c

FINAL RESULTS:

data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-store-xml.c:34:13:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  g_assert (system (command) == 0);
data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-store-xml.c:38:13:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  g_assert (system (command) == 0);
data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-store-xml.c:43:13:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
  g_assert (system (command) == 0);
data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-store-xml.c:100:11:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
      if (system (command) == -1)
data/telepathy-logger-0.8.2/telepathy-logger/log-store-pidgin.c:210:48:  [3] (buffer) g_get_home_dir:
  This function is synonymous with 'getenv("HOME")';it returns untrustable
  input if the environment can beset by an attacker. It can have any content
  and length, and the same variable can be set more than once (CWE-807,
  CWE-20). Check environment variables carefully before using them.
        dir = g_build_path (G_DIR_SEPARATOR_S, g_get_home_dir (), ".purple",
data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-store-pidgin.c:256:42:  [3] (buffer) g_get_home_dir:
  This function is synonymous with 'getenv("HOME")';it returns untrustable
  input if the environment can beset by an attacker. It can have any content
  and length, and the same variable can be set more than once (CWE-807,
  CWE-20). Check environment variables carefully before using them.
  dir = g_build_path (G_DIR_SEPARATOR_S, g_get_home_dir (), ".purple",
data/telepathy-logger-0.8.2/tests/dbus/test-tpl-log-store-xml.c:82:7:  [3] (buffer) g_get_tmp_dir:
  This function is synonymous with 'getenv("TMP")';it returns untrustable
  input if the environment can beset by an attacker. It can have any content
  and length, and the same variable can be set more than once (CWE-807,
  CWE-20). Check environment variables carefully before using them.
      g_get_tmp_dir (), "logger-test-logs", NULL);
data/telepathy-logger-0.8.2/telepathy-logger/log-manager.c:230:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
      memcpy (copy, list, sizeof (GList));
data/telepathy-logger-0.8.2/telepathy-logger/dbus-service.c:532:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
      file_contents, strlen (file_contents), NULL, FALSE,
data/telepathy-logger-0.8.2/telepathy-logger/debug-internal.h:71:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    _path += strlen (TP_CONN_OBJECT_PATH_BASE); \
data/telepathy-logger-0.8.2/telepathy-logger/debug-internal.h:73:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    _path += strlen (TP_ACCOUNT_OBJECT_PATH_BASE); \
data/telepathy-logger-0.8.2/telepathy-logger/debug-internal.h:92:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    _path += strlen (TP_CONN_OBJECT_PATH_BASE); \
data/telepathy-logger-0.8.2/telepathy-logger/debug-internal.h:94:14:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    _path += strlen (TP_ACCOUNT_OBJECT_PATH_BASE); \
data/telepathy-logger-0.8.2/telepathy-logger/event-internal.h:39:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  gboolean (*equal) (TplEvent *event1, TplEvent *event2);
data/telepathy-logger-0.8.2/telepathy-logger/event.c:388:38:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  return TPL_EVENT_GET_CLASS (self)->equal (self, data);
data/telepathy-logger-0.8.2/telepathy-logger/log-store-pidgin.c:286:34:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        id = g_strndup (orig_id, strlen (orig_id) - 2);
data/telepathy-logger-0.8.2/telepathy-logger/log-store-pidgin.c:568:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    id = g_strndup (strv[len-2], (strlen (strv[len-2]) - 5));
data/telepathy-logger-0.8.2/telepathy-logger/log-store-pidgin.c:1012:40:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
          gchar *id = g_strndup (name, strlen (name) - 5);
data/telepathy-logger-0.8.2/telepathy-logger/log-store-sqlite.c:305:5:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    strlen (TP_ACCOUNT_OBJECT_PATH_BASE);
data/telepathy-logger-0.8.2/telepathy-logger/log-store-sqlite.c:313:5:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    strlen (TP_ACCOUNT_OBJECT_PATH_BASE);
data/telepathy-logger-0.8.2/telepathy-logger/log-store-sqlite.c:321:5:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    strlen (TP_CONN_OBJECT_PATH_BASE);
data/telepathy-logger-0.8.2/telepathy-logger/log-store-xml.c:246:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    name += strlen (TP_ACCOUNT_OBJECT_PATH_BASE);
data/telepathy-logger-0.8.2/telepathy-logger/log-store-xml.c:418:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        fseek (file, -strlen (LOG_FOOTER), SEEK_END);
data/telepathy-logger-0.8.2/telepathy-logger/text-event.c:184:57:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
  return TPL_EVENT_CLASS (tpl_text_event_parent_class)->equal (event1, event2)

ANALYSIS SUMMARY:

Hits = 24
Lines analyzed = 23343 in approximately 0.47 seconds (49812 lines/second)
Physical Source Lines of Code (SLOC) = 16018
Hits@level = [0]   3 [1]  16 [2]   1 [3]   3 [4]   4 [5]   0
Hits@level+ = [0+]  27 [1+]  24 [2+]   8 [3+]   7 [4+]   4 [5+]   0
Hits/KSLOC@level+ = [0+] 1.6856 [1+] 1.49831 [2+] 0.499438 [3+] 0.437008 [4+] 0.249719 [5+]   0
Dot directories skipped = 2 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.