patches/gdm-37-strndup.diff
author an230044
Tue, 22 May 2012 09:47:58 +0000
branchgnome-2-30-s11rr-sru
changeset 22458 c4117c9bd9e0
permissions -rw-r--r--
Fix for GDM and ConsoleKit modules CRs 7121864 7120515 7116014 7110596 7094175 7093681 7096672 7146593 RTIs 362787, 362788 and 362785
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22458
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
     1
--- gdm-2.30.7/daemon/gdm-session-worker.c-orig	2012-02-21 20:27:25.469131407 -0600
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
     2
+++ gdm-2.30.7/daemon/gdm-session-worker.c	2012-02-21 20:52:54.218996258 -0600
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
     3
@@ -983,11 +983,12 @@ gdm_session_worker_process_pam_message (
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
     4
         }
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
     5
 
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
     6
         if (user_answer != NULL) {
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
     7
-                /* we strdup and g_free to make sure we return malloc'd
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
     8
-                 * instead of g_malloc'd memory
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
     9
+                /* we strndup and g_free to make sure we return malloc'd
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
    10
+                 * instead of g_malloc'd memory.  PAM_MAX_RESP_SIZE includes
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
    11
+                 * the '\0' terminating character, thus the "-1".
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
    12
                  */
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
    13
                 if (res && response_text != NULL) {
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
    14
-                        *response_text = strdup (user_answer);
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
    15
+                        *response_text = strndup (user_answer, PAM_MAX_RESP_SIZE-1);
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
    16
                 }
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
    17
 
c4117c9bd9e0 Fix for GDM and ConsoleKit modules
an230044
parents:
diff changeset
    18
                 memset (user_answer, '\0', strlen (user_answer));