]> git.sur5r.net Git - cc65/commitdiff
Abort on string overflow
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 1 Jun 2000 16:41:28 +0000 (16:41 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Thu, 1 Jun 2000 16:41:28 +0000 (16:41 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@21 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/common/xsprintf.c

index e95eef4ca2a546e5441a955b014431e7a00f6606..600e1282348bd6be608ed69fbf4d2a6e523a60bb 100644 (file)
@@ -65,14 +65,14 @@ int xvsprintf (char* Buf, size_t BufSize, const char* Format, va_list ap)
 /* Replacement function for sprintf */
 {
 #if defined(__WATCOMC__)
-    return _vbprintf (Buf, BufSize, Format, ap);
+    int Res = _vbprintf (Buf, BufSize, Format, ap);
 #elsif defined(__GNUC__)
-    return vsnprintf (Buf, BufSize, Format, ap);
+    int Res = vsnprintf (Buf, BufSize, Format, ap);
 #else
     int Res = vsprintf (Buf, Format, ap);
-    assert ((unsigned) Res < BufSize);
-    return Res;
 #endif
+    assert (Res >= 0 && (unsigned) Res < BufSize);
+    return Res;                
 }