[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#272136: More progress about the "Arabic crash" in Debian Installer



On Mon, Sep 20, 2004 at 12:49:57AM -0700, Steve Langasek wrote:
> Please try the attached patch to slang.

I did some cleanups on the patch.

Bastian

-- 
Insufficient facts always invite danger.
		-- Spock, "Space Seed", stardate 3141.9
diff -ur slang-1.4.9.orig/src/slsmg.c slang-1.4.9-utf8/src/slsmg.c
--- slang-1.4.9.orig/src/slsmg.c	2004-09-20 09:17:58.000000000 +0200
+++ slang-1.4.9-utf8/src/slsmg.c	2004-09-20 10:10:44.000000000 +0200
@@ -309,7 +309,8 @@
    if ((int) n < 0)
      return;
 
-   wptr = (wchar_t *)malloc(sizeof(wchar_t)*(n+1));
+   size_t wptr_len = n;
+   wptr = malloc(sizeof(wchar_t) * wptr_len);
 
    if (str != NULL && wptr != NULL)
    {
@@ -328,6 +329,14 @@
 	     str += k;
 	     n -= w;
 	     i++;
+             /* We have some null-width chars in the string and need more space */
+             if (i >= wptr_len - 1) {
+                 wchar_t *new_wptr = realloc(wptr, sizeof(wchar_t) * wptr_len * 2);
+                 if (!new_wptr)
+                     break;
+                 wptr_len *= 2;
+                 wptr = new_wptr;
+             }
 	}
 	SLsmg_write_nwchars (wptr, i);
    }

Attachment: signature.asc
Description: Digital signature


Reply to: