]> sigrok.org Git - libsigrok.git/commitdiff
input: improve robustness, avoid NULL dereference in sr_input_send()
authorGerhard Sittig <redacted>
Mon, 4 Jun 2018 21:21:01 +0000 (23:21 +0200)
committerUwe Hermann <redacted>
Mon, 3 Sep 2018 20:22:46 +0000 (22:22 +0200)
Applications might pass NULL for the buffer, and input modules might
accept it (or just cope). Eliminate a potential NULL dereference in
the emission of diagnostics messages.

src/input/input.c

index 4d3eb9856744271879f2f93fc866c7ddbad6c07b..282084cab008332593cab865a1e5ad987138a075 100644 (file)
@@ -582,8 +582,10 @@ SR_API struct sr_dev_inst *sr_input_dev_inst_get(const struct sr_input *in)
  */
 SR_API int sr_input_send(const struct sr_input *in, GString *buf)
 {
-       sr_spew("Sending %" G_GSIZE_FORMAT " bytes to %s module.",
-               buf->len, in->module->id);
+       size_t len;
+
+       len = buf ? buf->len : 0;
+       sr_spew("Sending %zu bytes to %s module.", len, in->module->id);
        return in->module->receive((struct sr_input *)in, buf);
 }