Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6c356634 authored by André Goddard Rosa's avatar André Goddard Rosa Committed by Linus Torvalds
Browse files

vsprintf: pre-calculate final string length for later use

parent 0f4f81dc
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -1496,13 +1496,14 @@ do { \
		case FORMAT_TYPE_STR: {
			const char *save_str = va_arg(args, char *);
			size_t len;

			if ((unsigned long)save_str > (unsigned long)-PAGE_SIZE
					|| (unsigned long)save_str < PAGE_SIZE)
				save_str = "(null)";
			len = strlen(save_str);
			if (str + len + 1 < end)
				memcpy(str, save_str, len + 1);
			str += len + 1;
			len = strlen(save_str) + 1;
			if (str + len < end)
				memcpy(str, save_str, len);
			str += len;
			break;
		}