mirror of https://github.com/YosysHQ/yosys.git
Merge pull request #4916 from YosysHQ/krys/fix_fst_warning
libs/fst: Fix stringop_overread warning under GCC
This commit is contained in:
commit
0354bd7a90
|
@ -0,0 +1,10 @@
|
|||
--- fstapi.cc
|
||||
+++ fstapi.cc
|
||||
@@ -6072,6 +6072,7 @@ for(;;)
|
||||
}
|
||||
|
||||
wx_len = snprintf(wx_buf, 32, "r%.16g", d);
|
||||
+ if (wx_len > 32 || wx_len < 0) wx_len = 32;
|
||||
fstWritex(xc, wx_buf, wx_len);
|
||||
}
|
||||
}
|
|
@ -18,3 +18,4 @@ sed -i -e 's,"fastlz.c","fastlz.cc",' *.cc *.h
|
|||
patch -p0 < 00_PATCH_win_zlib.patch
|
||||
patch -p0 < 00_PATCH_win_io.patch
|
||||
patch -p1 < 00_PATCH_strict_alignment.patch
|
||||
patch -p0 < 00_PATCH_wx_len_overread.patch
|
||||
|
|
|
@ -3907,16 +3907,18 @@ while (value)
|
|||
static int fstVcdIDForFwrite(char *buf, unsigned int value)
|
||||
{
|
||||
char *pnt = buf;
|
||||
int len = 0;
|
||||
|
||||
/* zero is illegal for a value...it is assumed they start at one */
|
||||
while (value)
|
||||
while (value && len < 14)
|
||||
{
|
||||
value--;
|
||||
++len;
|
||||
*(pnt++) = (char)('!' + value % 94);
|
||||
value = value / 94;
|
||||
}
|
||||
|
||||
return(pnt - buf);
|
||||
return len;
|
||||
}
|
||||
|
||||
|
||||
|
@ -6070,6 +6072,7 @@ for(;;)
|
|||
}
|
||||
|
||||
wx_len = snprintf(wx_buf, 32, "r%.16g", d);
|
||||
if (wx_len > 32 || wx_len < 0) wx_len = 32;
|
||||
fstWritex(xc, wx_buf, wx_len);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue