* [tree-ssa mudflap] libmudflap hook functions
@ 2002-08-14 8:57 graydon
0 siblings, 0 replies; only message in thread
From: graydon @ 2002-08-14 8:57 UTC (permalink / raw)
To: gcc-patches
Just committed:
[ libmudflap/ChangeLog ]
2002-08-14 Graydon Hoare <graydon@redhat.com>
* mf-hooks.c: Change __real_strlen() to __real_strlen()+1 when
verifying non-size-limited string extents.
Index: libmudflap/mf-hooks.c
===================================================================
RCS file: /cvs/gcc/gcc/libmudflap/Attic/mf-hooks.c,v
retrieving revision 1.1.2.4
diff -u -r1.1.2.4 mf-hooks.c
--- libmudflap/mf-hooks.c 14 Aug 2002 15:42:27 -0000 1.1.2.4
+++ libmudflap/mf-hooks.c 14 Aug 2002 15:53:57 -0000
@@ -117,7 +117,6 @@
__mf_check ((unsigned)value, size); \
}
-
void *
__wrap_memcpy (void *dest, const void *src, size_t n)
{
@@ -247,8 +246,8 @@
extern int __real_strcmp (const char *s1, const char *s2);
int s1_sz = __real_strlen (s1);
int s2_sz = __real_strlen (s2);
- MF_VALIDATE_EXTENT(s1, s1_sz);
- MF_VALIDATE_EXTENT(s2, s2_sz);
+ MF_VALIDATE_EXTENT(s1, s1_sz+1);
+ MF_VALIDATE_EXTENT(s2, s2_sz+1);
return __real_strcmp (s1, s2);
}
@@ -258,8 +257,8 @@
extern int __real_strcasecmp (const char *s1, const char *s2);
int s1_sz = __real_strlen (s1);
int s2_sz = __real_strlen (s2);
- MF_VALIDATE_EXTENT(s1, s1_sz);
- MF_VALIDATE_EXTENT(s2, s2_sz);
+ MF_VALIDATE_EXTENT(s1, s1_sz+1);
+ MF_VALIDATE_EXTENT(s2, s2_sz+1);
return __real_strcasecmp (s1, s2);
}
@@ -291,7 +290,7 @@
extern char *__real_strdup (const char *s);
int n = __real_strlen (s);
char *result;
- MF_VALIDATE_EXTENT(s, n);
+ MF_VALIDATE_EXTENT(s, n+1);
result = __real_strdup (s);
__mf_register ((uintptr_t) result, n, __MF_TYPE_HEAP, "strdup region");
return result;
@@ -315,7 +314,7 @@
{
extern char *__real_strchr (const char *s, int c);
int n = __real_strlen (s);
- MF_VALIDATE_EXTENT(s, n);
+ MF_VALIDATE_EXTENT(s, n+1);
return __real_strchr (s, c);
}
@@ -324,7 +323,7 @@
{
extern char *__real_strrchr (const char *s, int c);
int n = __real_strlen (s);
- MF_VALIDATE_EXTENT(s, n);
+ MF_VALIDATE_EXTENT(s, n+1);
return __real_strrchr (s, c);
}
@@ -335,8 +334,8 @@
extern char *__real_strstr (const char *haystack, const char *needle);
int haystack_sz = __real_strlen (haystack);
int needle_sz = __real_strlen (needle);
- MF_VALIDATE_EXTENT(haystack, haystack_sz);
- MF_VALIDATE_EXTENT(needle, needle_sz);
+ MF_VALIDATE_EXTENT(haystack, haystack_sz+1);
+ MF_VALIDATE_EXTENT(needle, needle_sz+1);
return __real_strstr (haystack, needle);
}
@@ -357,7 +356,7 @@
{
extern int __real_strlen (const char *s);
int n = __real_strlen (s);
- MF_VALIDATE_EXTENT(s, n);
+ MF_VALIDATE_EXTENT(s, n+1);
return n;
}
@@ -401,7 +400,7 @@
{
extern char *__real_index (const char *s, int c);
int n = __real_strlen (s);
- MF_VALIDATE_EXTENT(s, n);
+ MF_VALIDATE_EXTENT(s, n+1);
return __real_index (s, c);
}
@@ -410,7 +409,7 @@
{
extern char *__real_rindex (const char *s, int c);
int n = __real_strlen (s);
- MF_VALIDATE_EXTENT(s, n);
+ MF_VALIDATE_EXTENT(s, n+1);
return __real_rindex (s, c);
}
@@ -435,6 +434,5 @@
/* }}} */
-
/* ------------------------------------------------------------------------ */
Index: libmudflap/ChangeLog
===================================================================
RCS file: /cvs/gcc/gcc/libmudflap/Attic/ChangeLog,v
retrieving revision 1.1.2.5
diff -u -r1.1.2.5 ChangeLog
--- libmudflap/ChangeLog 14 Aug 2002 15:42:27 -0000 1.1.2.5
+++ libmudflap/ChangeLog 14 Aug 2002 15:53:57 -0000
@@ -1,3 +1,8 @@
+2002-08-14 Graydon Hoare <graydon@redhat.com>
+
+ * mf-hooks.c: Change __real_strlen() to __real_strlen()+1 when
+ verifying non-size-limited string extents.
+
2002-08-14 Frank Ch. Eigler <fche@redhat.com>
* mf-hooks.c: Make __wrap string* functions use __real_str[n]len
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-08-14 15:57 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-14 8:57 [tree-ssa mudflap] libmudflap hook functions graydon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).