Fix a bug in protocol 67/23767/1
authorJosé Bollo <jose.bollo@iot.bzh>
Fri, 7 Feb 2020 12:48:32 +0000 (13:48 +0100)
committerJosé Bollo <jose.bollo@iot.bzh>
Fri, 7 Feb 2020 13:34:18 +0000 (14:34 +0100)
Correctly handle the impossibility to add the
tailing record separator.

Bug-AGL: SPEC-3168

Change-Id: Id611eda4c6517819c1209baeb58c2d8d8ff57183
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
src/prot.c

index 7edcc50..2714e2f 100644 (file)
@@ -387,7 +387,8 @@ prot_put_end(
                rc = 0;
        else {
                rc = buf_put_car(&prot->outbuf, RECORD_SEPARATOR);
-               prot->outfields = 0;
+               if (rc == 0)
+                       prot->outfields = 0;
        }
        return rc;
 }
@@ -440,10 +441,10 @@ prot_put(
        int rc;
 
        rc = prot_put_fields(prot, count, fields);
+       if (!rc)
+               rc = prot_put_end(prot);
        if (rc)
                prot_put_cancel(prot);
-       else
-               rc = prot_put_end(prot);
        return rc;
 }