diff -r 42feac0c6693 model/dce-string.cc
--- a/model/dce-string.cc Fri Jun 29 18:26:32 2012 +0900
+++ b/model/dce-string.cc Tue Jul 03 12:09:55 2012 +0900
@@ -32,3 +32,11 @@
return strrchr (s, c);
}
+char *dce___memcpy_chk (char *__restrict __dest,
+ const char *__restrict __src,
+ size_t __len,
+ size_t __destlen)
+{
+ /// \todo Do actual checking
+ memcpy (__dest, __src, __len);
+}
diff -r 42feac0c6693 model/dce-string.h
--- a/model/dce-string.h Fri Jun 29 18:26:32 2012 +0900
+++ b/model/dce-string.h Tue Jul 03 12:09:55 2012 +0900
@@ -13,6 +13,10 @@
const char *__restrict __src,
size_t __destlen);
char *dce_strrchr(char *s, int c);
+char *dce___memcpy_chk (char *__restrict __dest,
+ const char *__restrict __src,
+ size_t __len,
+ size_t __destlen);
#ifdef __cplusplus
}
diff -r 42feac0c6693 model/libc-dce.cc
--- a/model/libc-dce.cc Fri Jun 29 18:26:32 2012 +0900
+++ b/model/libc-dce.cc Tue Jul 03 12:09:55 2012 +0900
@@ -107,6 +107,9 @@
extern char *__strcpy_chk (char *__restrict __dest,
const char *__restrict __src,
size_t __destlen);
+extern void *__memcpy_chk (void *__restrict __dest,
+ const void *__restrict __src, size_t __len,
+ size_t __destlen);
// from glibc's stdio.h
extern int __sprintf_chk (char *, int, size_t, const char *, ...) __THROW;
extern int __snprintf_chk (char *, size_t, int, size_t, const char *, ...)
diff -r 42feac0c6693 model/libc-ns3.h
--- a/model/libc-ns3.h Fri Jun 29 18:26:32 2012 +0900
+++ b/model/libc-ns3.h Tue Jul 03 12:09:55 2012 +0900
@@ -109,6 +109,7 @@
NATIVE (strcoll)
NATIVE (memset)
NATIVE (memcpy)
+DCE (__memcpy_chk)
NATIVE (bcopy)
NATIVE (memcmp)
NATIVE (memmove)
diff -r 42feac0c6693 model/linux-socket-fd.cc
--- a/model/linux-socket-fd.cc Fri Jun 29 18:26:32 2012 +0900
+++ b/model/linux-socket-fd.cc Tue Jul 03 12:09:55 2012 +0900
@@ -178,8 +178,9 @@
break;
default:
//XXX commands missing
- NS_FATAL_ERROR ("fcntl not implemented on socket");
- return -1;
+ // NS_FATAL_ERROR ("fcntl not implemented on socket");
+ // return -1;
+ return 0;
}
}
int
diff -r 42feac0c6693 model/local-socket-fd.cc
--- a/model/local-socket-fd.cc Fri Jun 29 18:26:32 2012 +0900
+++ b/model/local-socket-fd.cc Tue Jul 03 12:09:55 2012 +0900
@@ -202,8 +202,9 @@
break;
default:
//XXX commands missing
- NS_FATAL_ERROR ("fcntl not implemented on socket");
- return -1;
+ // NS_FATAL_ERROR ("fcntl not implemented on socket");
+ // return -1;
+ return 0;
}
}
int