comparison src/util.c @ 11407:f9c74bf11ae0

[gaim-migrate @ 13642] sf patch #1252769, from Federico Schwindt Fix crashes due to non terminate strings committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 01 Sep 2005 04:21:29 +0000
parents e4868370c433
children 3fe6b56a39cc
comparison
equal deleted inserted replaced
11406:e1507691f5b3 11407:f9c74bf11ae0
2898 gfud->webdata = g_malloc(gfud->data_len); 2898 gfud->webdata = g_malloc(gfud->data_len);
2899 2899
2900 return; 2900 return;
2901 } 2901 }
2902 2902
2903 /* Read in data, one byte at a time */
2903 if (read(sock, &data, 1) > 0 || errno == EWOULDBLOCK) 2904 if (read(sock, &data, 1) > 0 || errno == EWOULDBLOCK)
2904 { 2905 {
2905 if (errno == EWOULDBLOCK) 2906 if (errno == EWOULDBLOCK)
2906 { 2907 {
2907 errno = 0; 2908 errno = 0;
2909 return; 2910 return;
2910 } 2911 }
2911 2912
2912 gfud->len++; 2913 gfud->len++;
2913 2914
2914 if (gfud->len == gfud->data_len + 1) 2915 /* If we've filled up our buffer then make it bigger */
2916 if (gfud->len == gfud->data_len)
2915 { 2917 {
2916 gfud->data_len += (gfud->data_len) / 2; 2918 gfud->data_len += (gfud->data_len) / 2;
2917 2919
2918 gfud->webdata = g_realloc(gfud->webdata, gfud->data_len); 2920 gfud->webdata = g_realloc(gfud->webdata, gfud->data_len);
2919 } 2921 }
2920 2922
2921 gfud->webdata[gfud->len - 1] = data; 2923 gfud->webdata[gfud->len - 1] = data;
2924 gfud->webdata[gfud->len] = '\0';
2922 2925
2923 if (!gfud->startsaving) 2926 if (!gfud->startsaving)
2924 { 2927 {
2925 if (data == '\r') 2928 if (data == '\r')
2926 return; 2929 return;