about summary refs log tree commit diff
path: root/lib/libpam.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libpam.c')
-rw-r--r--lib/libpam.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/libpam.c b/lib/libpam.c
index 9ae33f08..998710b1 100644
--- a/lib/libpam.c
+++ b/lib/libpam.c
@@ -1031,7 +1031,11 @@ pnm_writepaminit(struct pam * const pamP) {
 
     interpretTupleType(pamP);
 
-    pamP->len = MIN(pamP->size, sizeof(struct pam));
+    if (pamP->size >= PAM_STRUCT_SIZE(comment_p) &&
+        pamP->len < PAM_STRUCT_SIZE(comment_p))
+        pamP->comment_p = NULL;
+
+    pamP->len = MIN(pamP->size, PAM_STRUCT_SIZE(opacity_plane));
     
     switch (PAM_FORMAT_TYPE(pamP->format)) {
     case PAM_TYPE: