Binary output: Add more error checks.

This commit is contained in:
Uwe Hermann 2011-04-06 19:51:11 +02:00
parent d494a4aa9d
commit 819184ee68
1 changed files with 18 additions and 1 deletions

View File

@ -32,8 +32,25 @@ static int data(struct sr_output *o, const char *data_in, uint64_t length_in,
/* Prevent compiler warnings. */
o = o;
if (!(outbuf = calloc(1, length_in)))
if (!data_in) {
g_warning("binary output: %s: data_in was NULL", __func__);
return SR_ERR;
}
if (!length_out) {
g_warning("binary output: %s: length_out was NULL", __func__);
return SR_ERR;
}
if (length_in == 0) {
g_warning("binary output: %s: length_in was 0", __func__);
return SR_ERR;
}
if (!(outbuf = calloc(1, length_in))) {
g_warning("binary output: %s: outbuf calloc failed", __func__);
return SR_ERR_MALLOC;
}
memcpy(outbuf, data_in, length_in);
*data_out = outbuf;