pkcs11-tool: Avoid calloc with 0 argument

This commit is contained in:
Jakub Jelen 2020-11-25 13:49:08 +01:00 committed by Frank Morgner
parent 3ce249f365
commit 85e08ae675
1 changed files with 10 additions and 7 deletions

View File

@ -1270,15 +1270,18 @@ static void list_slots(int tokens, int refresh, int print)
if (rv != CKR_OK)
p11_fatal("C_GetSlotList(NULL)", rv);
free(p11_slots);
p11_slots = calloc(p11_num_slots, sizeof(CK_SLOT_ID));
if (p11_slots == NULL) {
perror("calloc failed");
exit(1);
p11_slots = NULL;
if (p11_num_slots > 0) {
p11_slots = calloc(p11_num_slots, sizeof(CK_SLOT_ID));
if (p11_slots == NULL) {
perror("calloc failed");
exit(1);
}
rv = p11->C_GetSlotList(tokens, p11_slots, &p11_num_slots);
if (rv != CKR_OK)
p11_fatal("C_GetSlotList()", rv);
}
rv = p11->C_GetSlotList(tokens, p11_slots, &p11_num_slots);
if (rv != CKR_OK)
p11_fatal("C_GetSlotList()", rv);
}
if (!print)