display problem when using http protocol
Posted: 2011-10-16T05:15:34-07:00
Please look at this bugreport from our user: https://bugzilla.redhat.com/show_bug.cgi?id=742812
Use https://github.com/ImageMagick/ImageMagick/discussions instead.
https://imagemagick.com/discourse-server/
https://imagemagick.com/discourse-server/viewtopic.php?t=19648
Code: Select all
*** magick~/string.c 2011-10-22 10:34:27.463418895 -0400
--- magick/string.c 2011-10-22 10:26:55.329340982 -0400
***************
*** 167,173 ****
if (string_info->length != 0)
{
string_info->datum=(unsigned char *) NULL;
! if (~string_info->length >= MaxTextExtent)
string_info->datum=(unsigned char *) AcquireQuantumMemory(
string_info->length+MaxTextExtent,sizeof(*string_info->datum));
if (string_info->datum == (unsigned char *) NULL)
--- 167,173 ----
if (string_info->length != 0)
{
string_info->datum=(unsigned char *) NULL;
! if (~string_info->length >= (MaxTextExtent-1))
string_info->datum=(unsigned char *) AcquireQuantumMemory(
string_info->length+MaxTextExtent,sizeof(*string_info->datum));
if (string_info->datum == (unsigned char *) NULL)
***************
*** 223,233 ****
if (~length < MaxTextExtent)
ThrowFatalException(ResourceLimitFatalError,"UnableToAcquireString");
*destination=(char *) ResizeQuantumMemory(*destination,length+MaxTextExtent,
! sizeof(*destination));
if (*destination == (char *) NULL)
ThrowFatalException(ResourceLimitFatalError,"UnableToAcquireString");
if (length != 0)
! (void) memcpy(*destination,source,length*sizeof(*destination));
(*destination)[length]='\0';
return(*destination);
}
--- 223,233 ----
if (~length < MaxTextExtent)
ThrowFatalException(ResourceLimitFatalError,"UnableToAcquireString");
*destination=(char *) ResizeQuantumMemory(*destination,length+MaxTextExtent,
! sizeof(**destination));
if (*destination == (char *) NULL)
ThrowFatalException(ResourceLimitFatalError,"UnableToAcquireString");
if (length != 0)
! (void) memcpy(*destination,source,length*sizeof(**destination));
(*destination)[length]='\0';
return(*destination);
}
***************
*** 442,448 ****
if (~length < MaxTextExtent)
ThrowFatalException(ResourceLimitFatalError,"UnableToConcatenateString");
*destination=(char *) ResizeQuantumMemory(*destination,length+MaxTextExtent,
! sizeof(*destination));
if (*destination == (char *) NULL)
ThrowFatalException(ResourceLimitFatalError,"UnableToConcatenateString");
if (source_length != 0)
--- 442,448 ----
if (~length < MaxTextExtent)
ThrowFatalException(ResourceLimitFatalError,"UnableToConcatenateString");
*destination=(char *) ResizeQuantumMemory(*destination,length+MaxTextExtent,
! sizeof(**destination));
if (*destination == (char *) NULL)
ThrowFatalException(ResourceLimitFatalError,"UnableToConcatenateString");
if (source_length != 0)
***************
*** 550,556 ****
}
length=(size_t) offset;
string=(char *) NULL;
! if (~length > MaxTextExtent)
string=(char *) AcquireQuantumMemory(length+MaxTextExtent,sizeof(*string));
if (string == (char *) NULL)
{
--- 550,556 ----
}
length=(size_t) offset;
string=(char *) NULL;
! if (~length >= (MaxTextExtent-1))
string=(char *) AcquireQuantumMemory(length+MaxTextExtent,sizeof(*string));
if (string == (char *) NULL)
{
***************
*** 688,693 ****
--- 688,695 ----
register size_t
n;
+ if (source == (const char *) NULL)
+ return(0);
p=source;
q=destination;
for (n=length; n > 4; n-=4)
***************
*** 872,878 ****
length++;
}
destination=(char *) NULL;
! if (~length >= MaxTextExtent)
destination=(char *) AcquireQuantumMemory(length+MaxTextExtent,
sizeof(*destination));
if (destination == (char *) NULL)
--- 874,880 ----
length++;
}
destination=(char *) NULL;
! if (~length >= (MaxTextExtent-1))
destination=(char *) AcquireQuantumMemory(length+MaxTextExtent,
sizeof(*destination));
if (destination == (char *) NULL)
***************
*** 1816,1822 ****
return((StringInfo *) NULL);
split_info=AcquireStringInfo(offset);
SetStringInfo(split_info,string_info);
! (void) memcpy(string_info->datum,string_info->datum+offset,
string_info->length-offset+MaxTextExtent);
SetStringInfoLength(string_info,string_info->length-offset);
return(split_info);
--- 1818,1824 ----
return((StringInfo *) NULL);
split_info=AcquireStringInfo(offset);
SetStringInfo(split_info,string_info);
! (void) memmove(string_info->datum,string_info->datum+offset,
string_info->length-offset+MaxTextExtent);
SetStringInfoLength(string_info,string_info->length-offset);
return(split_info);
***************
*** 1854,1860 ****
string=(char *) NULL;
length=string_info->length;
! if (~length >= MaxTextExtent)
string=(char *) AcquireQuantumMemory(length+MaxTextExtent,sizeof(*string));
if (string == (char *) NULL)
return((char *) NULL);
--- 1856,1862 ----
string=(char *) NULL;
length=string_info->length;
! if (~length >= (MaxTextExtent-1))
string=(char *) AcquireQuantumMemory(length+MaxTextExtent,sizeof(*string));
if (string == (char *) NULL)
return((char *) NULL);
***************
*** 1913,1918 ****
--- 1915,1922 ----
{
while (isspace((int) ((unsigned char) *p)) != 0)
p++;
+ if (*p == '\0')
+ break;
(*argc)++;
if (*p == '"')
for (p++; (*p != '"') && (*p != '\0'); p++) ;
***************
*** 1943,1950 ****
else
if (*q == '\'')
{
for (q++; (*q != '\'') && (*q != '\0'); q++) ;
- q++;
}
else
while ((isspace((int) ((unsigned char) *q)) == 0) && (*q != '\0'))
--- 1947,1954 ----
else
if (*q == '\'')
{
+ p++;
for (q++; (*q != '\'') && (*q != '\0'); q++) ;
}
else
while ((isspace((int) ((unsigned char) *q)) == 0) && (*q != '\0'))
***************
*** 2175,2181 ****
if ((*q == '\r') || (*q == '\n'))
break;
textlist[i]=(char *) AcquireQuantumMemory((size_t) (q-p)+MaxTextExtent,
! sizeof(*textlist));
if (textlist[i] == (char *) NULL)
ThrowFatalException(ResourceLimitFatalError,"UnableToConvertText");
(void) memcpy(textlist[i],p,(size_t) (q-p));
--- 2179,2185 ----
if ((*q == '\r') || (*q == '\n'))
break;
textlist[i]=(char *) AcquireQuantumMemory((size_t) (q-p)+MaxTextExtent,
! sizeof(**textlist));
if (textlist[i] == (char *) NULL)
ThrowFatalException(ResourceLimitFatalError,"UnableToConvertText");
(void) memcpy(textlist[i],p,(size_t) (q-p));
***************
*** 2208,2214 ****
for (i=0; i < (ssize_t) lines; i++)
{
textlist[i]=(char *) AcquireQuantumMemory(2UL*MaxTextExtent,
! sizeof(*textlist));
if (textlist[i] == (char *) NULL)
ThrowFatalException(ResourceLimitFatalError,"UnableToConvertText");
(void) FormatMagickString(textlist[i],MaxTextExtent,"0x%08lx: ",
--- 2212,2218 ----
for (i=0; i < (ssize_t) lines; i++)
{
textlist[i]=(char *) AcquireQuantumMemory(2UL*MaxTextExtent,
! sizeof(**textlist));
if (textlist[i] == (char *) NULL)
ThrowFatalException(ResourceLimitFatalError,"UnableToConvertText");
(void) FormatMagickString(textlist[i],MaxTextExtent,"0x%08lx: ",
***************
*** 2326,2332 ****
if (q > p)
if ((*q == '\'') || (*q == '"'))
q--;
! (void) memcpy(message,p,(size_t) (q-p+1));
message[q-p+1]='\0';
for (p=message; *p != '\0'; p++)
if (*p == '\n')
--- 2330,2336 ----
if (q > p)
if ((*q == '\'') || (*q == '"'))
q--;
! (void) memmove(message,p,(size_t) (q-p+1));
message[q-p+1]='\0';
for (p=message; *p != '\0'; p++)
if (*p == '\n')