+2007-09-28 Raphael Neider <rneider AT web.de>
+
+ * src/pic/device.c (find_device): prevent buffer underflow error
+ * src/pic/pcoderegs.c (OptimizeRegUsage): avoid dereferencing
+ the just destroyed list entry
+
2007-09-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
* doc/sdccman.lyx: there's a dedicated wiki page for cmake and sdcc, thanks
/* read line by line */
pic_buf[sizeof(pic_buf)-1] = '\0';
while (fgets(pic_buf, sizeof(pic_buf)-1, pic_file) != NULL && !done) {
+ unsigned llen;
+ llen = strlen (pic_buf);
/* remove trailing spaces */
- while (isspace(pic_buf[strlen(pic_buf)-1]))
- pic_buf[strlen(pic_buf)-1] = '\0';
+ while (llen && isspace(pic_buf[llen-1])) {
+ pic_buf[llen-1] = '\0';
+ llen--;
+ }
/* remove leading spaces */
for (pic_buf_pos = pic_buf; isspace(*pic_buf_pos); pic_buf_pos++)