]> git.wh0rd.org Git - nano.git/commitdiff
avoid potential segfaults while unpartitioning a filestruct
authorDavid Lawrence Ramsey <pooka109@gmail.com>
Thu, 4 Nov 2004 15:31:43 +0000 (15:31 +0000)
committerDavid Lawrence Ramsey <pooka109@gmail.com>
Thu, 4 Nov 2004 15:31:43 +0000 (15:31 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2057 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

src/nano.c

index db601ada6fc99e6c3658b2450b264ff60a12c2de..98a74147873da8851ba8b77ef0c4347a20006903 100644 (file)
@@ -674,7 +674,8 @@ void unpartition_filestruct(partition *p)
      * with it. */
     tmp = mallocstrcpy(NULL, fileage->data);
     fileage->prev = p->top_prev;
-    fileage->prev->next = fileage;
+    if (fileage->prev != NULL)
+       fileage->prev->next = fileage;
     fileage->data = charealloc(fileage->data, strlen(p->top_data) +
        strlen(fileage->data) + 1);
     strcpy(fileage->data, p->top_data);
@@ -686,7 +687,8 @@ void unpartition_filestruct(partition *p)
      * the text after bot_x from bot_data.  Free bot_data when we're
      * done with it. */
     filebot->next = p->bot_next;
-    filebot->next->prev = filebot;
+    if (filebot->next != NULL)
+       filebot->next->prev = filebot;
     filebot->data = charealloc(filebot->data, strlen(filebot->data) +
        strlen(p->bot_data) + 1);
     strcat(filebot->data, p->bot_data);