Index: uspace/lib/c/test/strtol.c
===================================================================
--- uspace/lib/c/test/strtol.c	(revision 026003432853cb878c2eabd3af78ded8d7f01495)
+++ uspace/lib/c/test/strtol.c	(revision dd0502ae40ad37c48c1a61a8f4aadbaff4e9d3a0)
@@ -38,4 +38,5 @@
 #include <stdlib.h>
 #include <str.h>
+#include <limits.h>
 
 PCUT_INIT;
@@ -249,4 +250,28 @@
 }
 
+PCUT_TEST(strtoul_negative_wraparound)
+{
+	long output;
+	char *endp;
+	char *endp_unchanged = (char *) "endp_unchanged unique pointer";
+	int errno_unchanged = -1;
+	const char *input;
+	int base;
+
+	/*
+	 * N2176 7.22.1.4 The strtol, strtoll, strtoul, and strtoull functions
+	 *
+	 * "If the subject sequence begins with a minus sign, the value
+	 * resulting from the conversion is negated (in the return type)."
+	 */
+
+	endp = endp_unchanged;
+	errno = errno_unchanged;
+	output = strtoul(input = "-10", &endp, base = 0);
+	PCUT_ASSERT_INT_EQUALS(errno_unchanged, errno);
+	PCUT_ASSERT_PTR_EQUALS(input + 3, endp);
+	PCUT_ASSERT_UINT_EQUALS(-(10ul), output);
+}
+
 PCUT_TEST(strtol_fringe)
 {
