You seem to be having an empty element in vendor_list. Empty elements would not throw an error. NULL, however, will. You can do a quick application to replace those NULL with empty strings or whatever you prefer.
So, this is your list with zero-length element.
vendor_list <- list("ibm", c("apache", "canonical", "apple", "novell"), c("gnu", "oracle"))
problemtype_list <- list("NVD-CWE-Other", "NVD-CWE-Other", "CWE-824")
do.call(rbind.data.frame, Map(data.frame, A=vendor_list, B=problemtype_list))
# A B
# 1 ibm NVD-CWE-Other
# 2 apache NVD-CWE-Other
# 3 canonical NVD-CWE-Other
# 4 apple NVD-CWE-Other
# 5 novell NVD-CWE-Other
# 6 gnu CWE-824
# 7 oracle CWE-824
However, if you provide an empty slot:
vendor_list[[3]] <- character(0)
vendor_list
# [[1]]
# [1] "ibm"
# [[2]]
# [1] "apache" "canonical" "apple" "novell"
# [[3]]
# character(0)
And you can then do a quick test on it. Like so,
any(lengths(vendor_list) == 0)
# [1] TRUE
any(lengths(problemtype_list) == 0)
# [1] FALSE
... then the merge fails:
do.call(rbind.data.frame, Map(data.frame, A=vendor_list, B=problemtype_list))
# Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, (from pit-roads.R!8460QVH#21) :
# arguments imply differing number of rows: 0, 1
You can either replace the offending entries with a Not Applicable (NA), or you can remove them.
Replacement:
vendor_list[lengths(vendor_list) == 0] <- NA
problemtype_list[lengths(problemtype_list) == 0] <- NA
do.call(rbind.data.frame, Map(data.frame, A=vendor_list, B=problemtype_list))
# A B
# 1 ibm NVD-CWE-Other
# 2 apache NVD-CWE-Other
# 3 canonical NVD-CWE-Other
# 4 apple NVD-CWE-Other
# 5 novell NVD-CWE-Other
# 6 <NA> CWE-824
Then Remove it:
keepthese <- (lengths(vendor_list) > 0) & (lengths(problemtype_list) > 0)
keepthese
# [1] TRUE TRUE FALSE
vendor_list <- vendor_list[keepthese]
problemtype_list <- problemtype_list[keepthese]
do.call(rbind.data.frame, Map(data.frame, A=vendor_list, B=problemtype_list))
# A B
# 1 ibm NVD-CWE-Other
# 2 apache NVD-CWE-Other
# 3 canonical NVD-CWE-Other
# 4 apple NVD-CWE-Other
# 5 novell NVD-CWE-Other
Hope this helps.