Activity log for bug #1441069

Date Who What changed Old value New value Message
2015-04-07 09:57:22 Dirk Zimoch bug added bug
2015-04-07 09:58:07 Dirk Zimoch description When a string is written to a CHAR array, the array count is set to string length+1 (includes terminating 0 byte). But when escape sequences are used, the byte count does not get adjusted. Thus a sequence like "\a" sends 3 bytes (7 0 0), not 2. This is the piece of code in question (caput.c). See how the result of epicsStrnRawFromEscaped not used to update count. if (charArrAsStr) { count = len; dbrType = DBR_CHAR; ebuf = calloc(strlen(cbuf)+1, sizeof(char)); if(!ebuf) { fprintf(stderr, "Memory allocation failed\n"); return 1; } epicsStrnRawFromEscaped(ebuf, strlen(cbuf)+1, cbuf, strlen(cbuf)); } else { The bug appeared together with the -S option (3.14.12 ?) and can still be found in 3.15.1. The bug is relatively harmless because it simply sends too many trailing 0 bytes. When a string is written to a CHAR array, the array count is set to string length+1 (includes terminating 0 byte). But when escape sequences are used, the byte count does not get adjusted. Thus a sequence like "\a" sends 3 bytes (7 0 0), not 2. This is the piece of code in question (caput.c). See how the result of epicsStrnRawFromEscaped is not used to update count.         if (charArrAsStr) {             count = len;             dbrType = DBR_CHAR;             ebuf = calloc(strlen(cbuf)+1, sizeof(char));             if(!ebuf) {                 fprintf(stderr, "Memory allocation failed\n");                 return 1;             }             epicsStrnRawFromEscaped(ebuf, strlen(cbuf)+1, cbuf, strlen(cbuf));         } else { The bug appeared together with the -S option (3.14.12 ?) and can still be found in 3.15.1. The bug is relatively harmless because it simply sends too many trailing 0 bytes.
2015-04-14 14:53:56 Ralph Lange epics-base: importance Undecided Medium
2015-04-14 14:53:59 Ralph Lange epics-base: assignee Ralph Lange (ralph-lange)
2015-04-14 14:54:09 Ralph Lange epics-base: status New Confirmed
2016-04-30 09:26:42 Ralph Lange epics-base: milestone 3.15.4
2016-05-26 10:14:47 Ralph Lange nominated for series epics-base/3.14
2016-05-26 10:14:47 Ralph Lange bug task added epics-base/3.14
2016-05-26 10:14:47 Ralph Lange nominated for series epics-base/3.15
2016-05-26 10:14:47 Ralph Lange bug task added epics-base/3.15
2016-05-26 10:14:47 Ralph Lange nominated for series epics-base/3.16
2016-05-26 10:14:47 Ralph Lange bug task added epics-base/3.16
2016-05-26 10:14:55 Ralph Lange epics-base/3.14: status New Incomplete
2016-05-26 10:14:59 Ralph Lange epics-base/3.14: status Incomplete Confirmed
2016-05-26 10:15:02 Ralph Lange epics-base/3.15: status New Confirmed
2016-05-26 10:15:07 Ralph Lange epics-base/3.14: importance Undecided Medium
2016-05-26 10:15:11 Ralph Lange epics-base/3.15: importance Undecided Medium
2016-05-26 10:15:13 Ralph Lange epics-base/3.14: assignee Ralph Lange (ralph-lange)
2016-05-26 10:15:16 Ralph Lange epics-base/3.15: assignee Ralph Lange (ralph-lange)
2016-05-26 10:15:24 Ralph Lange epics-base/3.16: milestone 3.15.4 3.16.1
2016-05-26 10:15:27 Ralph Lange epics-base/3.15: milestone 3.15.4
2016-05-26 10:15:31 Ralph Lange epics-base/3.14: milestone 3.14.branch
2016-05-26 11:13:48 Launchpad Janitor branch linked lp:epics-base/3.14
2016-05-26 11:19:45 Ralph Lange epics-base/3.14: status Confirmed Fix Committed
2016-05-26 11:19:48 Ralph Lange epics-base/3.15: status Confirmed Fix Committed
2016-05-27 08:05:34 Ralph Lange epics-base/3.15: status Fix Committed Fix Released
2016-05-31 16:53:34 Andrew Johnson epics-base/3.14: milestone 3.14.branch 3.14.12.6
2016-12-09 22:26:21 Andrew Johnson epics-base/3.14: status Fix Committed Fix Released
2017-06-02 20:48:55 Andrew Johnson epics-base/3.16: status Confirmed Fix Released