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/python-sysv-ipc-1.0.0/common.c
Examining data/python-sysv-ipc-1.0.0/common.h
Examining data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c
Examining data/python-sysv-ipc-1.0.0/demos/sem_and_shm/md5.c
Examining data/python-sysv-ipc-1.0.0/demos/sem_and_shm/md5.h
Examining data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c
Examining data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c
Examining data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.h
Examining data/python-sysv-ipc-1.0.0/keys.c
Examining data/python-sysv-ipc-1.0.0/memory.c
Examining data/python-sysv-ipc-1.0.0/memory.h
Examining data/python-sysv-ipc-1.0.0/mq.c
Examining data/python-sysv-ipc-1.0.0/mq.h
Examining data/python-sysv-ipc-1.0.0/prober/probe_page_size.c
Examining data/python-sysv-ipc-1.0.0/prober/semtimedop_test.c
Examining data/python-sysv-ipc-1.0.0/prober/sniff_union_semun_defined.c
Examining data/python-sysv-ipc-1.0.0/semaphore.c
Examining data/python-sysv-ipc-1.0.0/semaphore.h
Examining data/python-sysv-ipc-1.0.0/sysv_ipc_module.c

FINAL RESULTS:

data/python-sysv-ipc-1.0.0/common.h:52:31:  [4] (format) fprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
#define DPRINTF(fmt, args...) fprintf(stderr, "+++ " fmt, ## args)
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:84:29:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                            sprintf(s, "Read %zu characters '%s'", strlen((char *)address), (char *)address);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:106:29:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                            sprintf(s, "Writing %zu characters '%s'", strlen(md5ified_message), md5ified_message);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:109:29:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
                            strcpy((char *)address, md5ified_message);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:111:29:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
                            strcpy(last_message_i_wrote, md5ified_message);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:116:29:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                            sprintf(s, "Mismatch; rc = %d, new message is '%s', expected '%s'.", rc, (char *)address, md5ified_message);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:82:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy((char *)address, s);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:83:13:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
            strcpy(last_message_i_wrote, s);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:85:13:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
            sprintf(s, "Wrote %zu characters: %s", strlen(last_message_i_wrote), last_message_i_wrote);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:114:25:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                        sprintf(s, "Read %zu characters '%s'", strlen((char *)address), (char *)address);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:126:25:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                        sprintf(s, "Read %zu characters '%s'", strlen((char *)address), (char *)address);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:142:29:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                            sprintf(s, "Writing %zu characters '%s'", strlen(md5ified_message), md5ified_message);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:145:29:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
                            strcpy((char *)address, md5ified_message);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:146:29:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
                            strcpy((char *)last_message_i_wrote, md5ified_message);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:151:29:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
                            sprintf(s, "Mismatch; new message is '%s', expected '%s'.", (char *)address, md5ified_message);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:210:5:  [4] (buffer) strcpy:
  Does not check for buffer overflows when copying to destination [MS-banned]
  (CWE-120). Consider using snprintf, strcpy_s, or strlcpy (warning: strncpy
  easily misused).
    strcpy(s, pAscTime);
data/python-sysv-ipc-1.0.0/sysv_ipc_module.c:786:5:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
    srand((unsigned int)time(NULL));
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:22:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char s[1024];
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:25:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char last_message_i_wrote[256];
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:26:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char md5ified_message[256];
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:40:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(s, "Getting a handle to the semaphore failed; errno is %d", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:49:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(s, "Couldn't get a handle to the shared memory; errno is %d", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:53:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(s, "Shared memory's id is %d", shm_id);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:61:17:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                sprintf(s, "Attaching the shared memory failed; errno is %d", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:65:17:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                sprintf(s, "shared memory address = %p", address);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:72:21:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                    sprintf(s, "iteration %d", i);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:114:29:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                            sprintf(s, "Shared memory corruption after %d iterations.", i);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:129:21:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                    sprintf(s, "Detaching the memory failed; errno is %d", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/md5.c:169:3:  [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(xbuf, data, 64);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/md5.c:343:2:  [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(pms->buf + offset, p, copy);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/md5.c:357:2:  [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(pms->buf, p, left);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:25:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char s[1024];
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:26:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char last_message_i_wrote[256];
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:27:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char md5ified_message[256];
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:45:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(s, "Creating the shared memory failed; errno is %d", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:49:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(s, "Shared memory's id is %d", shm_id);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:57:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(s, "Attaching the shared memory failed; errno is %d", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:61:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(s, "shared memory address = %p", address);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:72:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(s, "Creating the semaphore failed; errno is %d", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:76:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(s, "the semaphore id is %d", sem_id);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:90:17:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                sprintf(s, "iteration %d", i);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:149:29:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                            sprintf(s, "Shared memory corruption after %d iterations.", i);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:177:21:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                    sprintf(s, "Detaching the memory failed; errno is %d", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:184:21:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
                    sprintf(s, "Removing the memory failed; errno is %d", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:193:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(s, "Removing the semaphore failed; errno is %d", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c:28:9:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
        sprintf(&outString[i * 2], "%02x", digest[i]);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c:34:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char timestamp[256];
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c:50:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char s[1024];
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c:60:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(s, "Releasing the semaphore failed; errno is %d\n", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c:72:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char s[1024];
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c:81:13:  [2] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf. Risk is low because the source has a constant maximum length.
            sprintf(s, "Acquiring the semaphore failed; errno is %d\n", errno);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c:91:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char line[1024];
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c:92:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char name[1024];
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c:97:10:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    fp = fopen("params.txt", "r");
data/python-sysv-ipc-1.0.0/memory.c:338:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char *keyword_list[ ] = {"key", "flags", "mode", "size", "init_character", NULL};
data/python-sysv-ipc-1.0.0/memory.c:472:12:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static char *keyword_list[ ] = {"address", "flags", NULL};
data/python-sysv-ipc-1.0.0/memory.c:536:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char *keyword_list[ ] = {"byte_count", "offset", NULL};
data/python-sysv-ipc-1.0.0/memory.c:619:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char *keyword_list[ ] = {"s", "offset", NULL};
data/python-sysv-ipc-1.0.0/memory.c:674:5:  [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((self->address + offset), data.buf, data.len);
data/python-sysv-ipc-1.0.0/mq.c:365:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char *keyword_list[ ] = {"key", "flags", "mode", "max_message_size", NULL};
data/python-sysv-ipc-1.0.0/mq.c:486:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char *keyword_list[ ] = {"message", "block", "type", NULL};
data/python-sysv-ipc-1.0.0/mq.c:524:5:  [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(p_msg->message, user_msg.buf, user_msg.len);
data/python-sysv-ipc-1.0.0/mq.c:589:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char *keyword_list[ ] = {"block", "type", NULL};
data/python-sysv-ipc-1.0.0/semaphore.c:172:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char *keyword_list[3][3] = {
data/python-sysv-ipc-1.0.0/semaphore.c:463:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char *keyword_list[ ] = {"key", "flags", "mode", "initial_value", NULL};
data/python-sysv-ipc-1.0.0/sysv_ipc_module.c:77:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char *keyword_list[ ] = {"id", "address", "flags", NULL};
data/python-sysv-ipc-1.0.0/sysv_ipc_module.c:121:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char *keyword_list[ ] = {"path", "id", "silence_warning", NULL};
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:84:68:  [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).
                            sprintf(s, "Read %zu characters '%s'", strlen((char *)address), (char *)address);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/conclusion.c:106:71:  [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).
                            sprintf(s, "Writing %zu characters '%s'", strlen(md5ified_message), md5ified_message);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:85:52:  [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).
            sprintf(s, "Wrote %zu characters: %s", strlen(last_message_i_wrote), last_message_i_wrote);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:114:64:  [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).
                        sprintf(s, "Read %zu characters '%s'", strlen((char *)address), (char *)address);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:126:64:  [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).
                        sprintf(s, "Read %zu characters '%s'", strlen((char *)address), (char *)address);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/premise.c:142:71:  [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).
                            sprintf(s, "Writing %zu characters '%s'", strlen(md5ified_message), md5ified_message);
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c:24:51:  [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).
	md5_append(&state, (const md5_byte_t *)inString, strlen(inString));
data/python-sysv-ipc-1.0.0/demos/sem_and_shm/utils.c:100: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).
        if (strlen(line) && ('#' == line[0]))

ANALYSIS SUMMARY:

Hits = 75
Lines analyzed = 4717 in approximately 0.14 seconds (33495 lines/second)
Physical Source Lines of Code (SLOC) = 3374
Hits@level = [0]   4 [1]   8 [2]  50 [3]   1 [4]  16 [5]   0
Hits@level+ = [0+]  79 [1+]  75 [2+]  67 [3+]  17 [4+]  16 [5+]   0
Hits/KSLOC@level+ = [0+] 23.4143 [1+] 22.2288 [2+] 19.8577 [3+] 5.03853 [4+] 4.74215 [5+]   0
Dot directories skipped = 1 (--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.