display problem when using http protocol
-
Hubbitus
- Posts: 66
- Joined: 2010-05-04T10:50:21-07:00
- Authentication code: 8675308
- Location: Russia, Saint-Petersburg
- Contact:
display problem when using http protocol
Please look at this bugreport from our user: https://bugzilla.redhat.com/show_bug.cgi?id=742812
Re: display problem when using http protocol
Can we get a stack trace? We downloaded / installed ImageMagick-6.6.5.10-19.fc15.x86_64.rpm and displayed / converted the 800px-Americanindiansmapcensusbureau.gif image without complaint.
-
Hubbitus
- Posts: 66
- Joined: 2010-05-04T10:50:21-07:00
- Authentication code: 8675308
- Location: Russia, Saint-Petersburg
- Contact:
Re: display problem when using http protocol
I request it.
I can't see this error in console, but can reproduce what display exit after 1 or 2 seconds showing this image. Exit status 0, and it do not related http protocol, local copy behave on same way.
I can't see this error in console, but can reproduce what display exit after 1 or 2 seconds showing this image. Exit status 0, and it do not related http protocol, local copy behave on same way.
-
Hubbitus
- Posts: 66
- Joined: 2010-05-04T10:50:21-07:00
- Authentication code: 8675308
- Location: Russia, Saint-Petersburg
- Contact:
Re: display problem when using http protocol
Please look at bugzilla - backtrace provided.
Re: display problem when using http protocol
Thanks for the problem report. We can reproduce the problem you posted and have a patch:
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')
-
Hubbitus
- Posts: 66
- Joined: 2010-05-04T10:50:21-07:00
- Authentication code: 8675308
- Location: Russia, Saint-Petersburg
- Contact:
Re: display problem when using http protocol
Thank you very much. I'll hope it will be included in new version. And I'll just buil it.
Who is online
Users browsing this forum: Ahrefs [Bot] and 5 guests