Help!

[PATCH v3 2/7] vsprintf: pre-calculate final string length..

 
  

Post new topic   General Reply to Topic (not reply to a specific post)    Forums Home -> Kernel RSS
Next:  [GIT PULL] m32r updates for 2.6.32-rc7  
Author Message
André_Goddard_Rosa
External


Since: Oct 31, 2009
Posts: 4



PostPosted: Wed Nov 04, 2009 10:10 am    Post subject: [PATCH v3 2/7] vsprintf: pre-calculate final string length for later use
Archived from groups: linux>kernel (more info?)

From: André Goddard Rosa <andre.goddard DeleteThis @gmail.com>
Date: Tue, 3 Nov 2009 10:45:53 -0200
Subject: [PATCH v3 2/7] vsprintf: pre-calculate final string length
for later use
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: André Goddard Rosa <andre.goddard DeleteThis @gmail.com>
Acked-by: Frederic Weisbecker <fweisbec DeleteThis @gmail.com>
---
lib/vsprintf.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index 002f462..403e835 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -1445,13 +1445,15 @@ 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_str;
- 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;
}

--
1.6.5.2.143.g8cc62.dirty
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo DeleteThis @vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to top
Display posts from previous:   
Post new topic   General Reply to Topic (not reply to a specific post)    Forums Home -> Kernel All times are: Eastern Time (US & Canada) (change)
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum