sakura
Simple but powerful libvte-based terminal emulator. 
Home page: http://www.pleyades.net/david/sakura.php
Log
- Started: 2012-02-03
 - Discussed: 2012-02-03
 - Draft Submitted: -
 - Submitted: 2012-02-07, Bug#659018
 - Accepted: 2012-02-12, by Andrew Starr-Bochicchio
 
ToDo
Here is the output of grep -R PATH_MAX sakura-2.4.2/*:
src/sakura.c:                char buf[PATH_MAX+1];
Comments
+                char *buf = NULL;
+                struct stat sb;
Will dynamically allocate the buffer according to information provided by lstat().
+                if (lstat(file, &sb) == -1) {
+                        return cwd;
+                }
+                buf = malloc(sb.st_size + 1);
Do the allocation. Don't bother to check for return value as g_strdup_printf() doesn't do it.
+                len = readlink (file, buf, sb.st_size + 1);
+                if (len < 0 || len > sb.st_size) {
+                        g_free(buf);
+                        return cwd;
+                }
Check realink() return value.
+                g_free(buf);
Free the dynamically allocated buffer.