continue;
}
- else if (((char *) conn->buf)[0] != 0)
+ else if (isascii (conn->buf[0]))
{
// If it looks vaguely like a string, make sure it's terminated
((char *) conn->buf)[rx_bytes <
continue;
}
- if (isascii (conn->buf[0]) && strlen ((const char *) conn->buf))
+ if (isascii (conn->buf[0]))
{
+ // If it looks vaguely like a string, make sure it's terminated
+ ((char *) conn->buf)[rx_bytes <
+ conn->buf_size ? rx_bytes :
+ conn->buf_size - 1] = 0;
if (xtra)
fprintf (stderr,
"ERROR: FIFO not drained in previous test!\n"
* char end_psp, u8 behavior, u32 sw_if_index, u32 vlan_index, u32 fib_table,
* ip46_address_t *nh_addr, void *ls_plugin_mem)
*/
+
+ VALIDATE_SW_IF_INDEX (mp);
+
rv = sr_cli_localsid (mp->is_del,
(ip6_address_t *) & mp->localsid_addr,
mp->end_psp,
ntohl (mp->fib_table),
(ip46_address_t *) & mp->nh_addr, NULL);
+ BAD_SW_IF_INDEX_LABEL;
+
REPLY_MACRO (VL_API_SR_LOCALSID_ADD_DEL_REPLY);
}
* u32 table_id, ip46_address_t *prefix, u32 mask_width, u32 sw_if_index,
* u8 traffic_type)
*/
+
+ VALIDATE_SW_IF_INDEX (mp);
+
rv = sr_steering_policy (mp->is_del,
(ip6_address_t *) & mp->bsid_addr,
ntohl (mp->sr_policy_index),
ntohl (mp->mask_width),
ntohl (mp->sw_if_index), mp->traffic_type);
+ BAD_SW_IF_INDEX_LABEL;
+
REPLY_MACRO (VL_API_SR_STEERING_ADD_DEL_REPLY);
}
drop:
b0->error = error0 ? node->errors[error0] : 0;
- if (PREDICT_FALSE (b0->flags & VLIB_BUFFER_IS_TRACED))
+ if (PREDICT_FALSE
+ ((b0->flags & VLIB_BUFFER_IS_TRACED) && tcp0 != 0))
{
t0 = vlib_add_trace (vm, node, b0, sizeof (*t0));
clib_memcpy (&t0->tcp_header, tcp0, sizeof (t0->tcp_header));
}
ctx->requests = tmp;
memset (ctx->requests, 0, size);
+ /* coverity[MISSING_LOCK] - 177211 requests_mutex is not needed here */
ctx->requests_start = ctx->requests_count = 0;
if (chroot_prefix)
{
}
}
log2_page_size = clib_mem_vm_get_log2_page_size (fd);
+
+ if (log2_page_size == 0)
+ {
+ err = clib_error_return_unix (0, "cannot determine page size");
+ goto error;
+ }
}
else /* not CLIB_MEM_VM_F_SHARED */
{