1
1

avoid potential segfaults while unpartitioning a filestruct

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2057 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Этот коммит содержится в:
David Lawrence Ramsey 2004-11-04 15:31:43 +00:00
родитель 07e2589f80
Коммит 8cbd4cb67f

Просмотреть файл

@ -674,7 +674,8 @@ void unpartition_filestruct(partition *p)
* with it. */ * with it. */
tmp = mallocstrcpy(NULL, fileage->data); tmp = mallocstrcpy(NULL, fileage->data);
fileage->prev = p->top_prev; 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) + fileage->data = charealloc(fileage->data, strlen(p->top_data) +
strlen(fileage->data) + 1); strlen(fileage->data) + 1);
strcpy(fileage->data, p->top_data); 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 * the text after bot_x from bot_data. Free bot_data when we're
* done with it. */ * done with it. */
filebot->next = p->bot_next; 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) + filebot->data = charealloc(filebot->data, strlen(filebot->data) +
strlen(p->bot_data) + 1); strlen(p->bot_data) + 1);
strcat(filebot->data, p->bot_data); strcat(filebot->data, p->bot_data);