Index: uspace/lib/posix/include/posix/stdlib.h
===================================================================
--- uspace/lib/posix/include/posix/stdlib.h	(revision 5713e5faae70dc250ec698512ff0096c4b9891ce)
+++ uspace/lib/posix/include/posix/stdlib.h	(revision 7ec3c5638215716bb0cffafe64b4b0bdc6a543b3)
@@ -116,7 +116,10 @@
 
 /* Memory Allocation */
-extern void *__POSIX_DEF__(malloc)(size_t size);
-extern void *__POSIX_DEF__(calloc)(size_t nelem, size_t elsize);
-extern void *__POSIX_DEF__(realloc)(void *ptr, size_t size);
+extern void *__POSIX_DEF__(malloc)(size_t size)
+    __attribute__((malloc));
+extern void *__POSIX_DEF__(calloc)(size_t nelem, size_t elsize)
+    __attribute__((malloc));
+extern void *__POSIX_DEF__(realloc)(void *ptr, size_t size)
+    __attribute__((warn_unused_result));
 extern void __POSIX_DEF__(free)(void *ptr);
 
Index: uspace/lib/posix/include/posix/string.h
===================================================================
--- uspace/lib/posix/include/posix/string.h	(revision 5713e5faae70dc250ec698512ff0096c4b9891ce)
+++ uspace/lib/posix/include/posix/string.h	(revision 7ec3c5638215716bb0cffafe64b4b0bdc6a543b3)
@@ -67,7 +67,10 @@
 /* From mem.h */
 // #define bzero(ptr, len)  memset((ptr), 0, (len))
-extern void *memset(void *, int, size_t);
-extern void *memcpy(void *, const void *, size_t);
-extern void *memmove(void *, const void *, size_t);
+extern void *memset(void *, int, size_t)
+    __attribute__((nonnull(1)));
+extern void *memcpy(void *, const void *, size_t)
+    __attribute__((nonnull(1, 2)));
+extern void *memmove(void *, const void *, size_t)
+    __attribute__((nonnull(1, 2)));
 
 
