Displaying 20 results from an estimated 41 matches for "swfdec_as_context_abort".
2007 Oct 22
0
2 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h
...text::aborted" and swfdec_as_context_is_aborted()
diff --git a/doc/swfdec-sections.txt b/doc/swfdec-sections.txt
index e423b7a..2442538 100644
--- a/doc/swfdec-sections.txt
+++ b/doc/swfdec-sections.txt
@@ -300,6 +300,7 @@ SWFDEC_AS_VALUE_IS_OBJECT
SwfdecAsContext
swfdec_as_context_startup
swfdec_as_context_abort
+swfdec_as_context_is_aborted
swfdec_as_context_get_string
swfdec_as_context_give_string
swfdec_as_context_use_mem
diff --git a/libswfdec/swfdec_as_context.c b/libswfdec/swfdec_as_context.c
index 07eb2fd..3d3215c 100644
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@ -...
2007 Jun 29
0
Branch 'as' - 3 commits - doc/Makefile.am doc/swfdec-docs.sgml doc/swfdec-sections.txt libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h
...ue</FILE>
<TITLE>SwfdecAsValue</TITLE>
SwfdecAsValueType
@@ -212,3 +220,34 @@ SWFDEC_AS_VALUE_IS_STRING
SWFDEC_AS_VALUE_IS_NULL
SWFDEC_AS_VALUE_IS_OBJECT
</SECTION>
+
+<SECTION>
+<FILE>SwfdecAsContext</FILE>
+<TITLE>SwfdecAsContext</TITLE>
+swfdec_as_context_abort
+swfdec_as_context_abort_oom
+swfdec_as_context_eval
+swfdec_as_context_eval_set
+swfdec_as_context_gc
+swfdec_as_context_get_string
+swfdec_as_context_get_time
+swfdec_as_context_give_string
+swfdec_as_context_maybe_gc
+swfdec_as_context_new
+swfdec_as_context_return
+swfdec_as_context_run
+swfdec...
2007 Jul 02
0
Branch 'as' - 24 commits - configure.ac doc/Makefile.am doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c
...ATA_TYPE
-swfdec_loader_data_type_get_type
-SWFDEC_TYPE_MOUSE_CURSOR
-swfdec_mouse_cursor_get_type
</SECTION>
@@ -224,21 +219,18 @@ SWFDEC_AS_VALUE_IS_OBJECT
<SECTION>
<FILE>SwfdecAsContext</FILE>
<TITLE>SwfdecAsContext</TITLE>
+swfdec_as_context_startup
swfdec_as_context_abort
-swfdec_as_context_abort_oom
-swfdec_as_context_eval
-swfdec_as_context_eval_set
-swfdec_as_context_gc
swfdec_as_context_get_string
-swfdec_as_context_get_time
swfdec_as_context_give_string
+swfdec_as_context_use_mem
+swfdec_as_context_gc
swfdec_as_context_maybe_gc
-swfdec_as_context_new
-swfdec...
2007 Oct 14
3
libswfdec/swfdec_player.c
libswfdec/swfdec_player.c | 3 +++
1 file changed, 3 insertions(+)
New commits:
commit f82b818ab4cf2148fafbb9eec5a27622ccd680d7
Author: Benjamin Otte <otte at gnome.org>
Date: Sun Oct 14 17:04:21 2007 +0200
lock the player when handling keys
ooooops
diff --git a/libswfdec/swfdec_player.c b/libswfdec/swfdec_player.c
index 32254ab..4980b21 100644
---
2007 Oct 26
0
3 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_interpret.c
...ke sure try_data gets freed properly
diff --git a/libswfdec/swfdec_as_context.c b/libswfdec/swfdec_as_context.c
index 25ee0f1..6e35622 100644
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@ -809,6 +809,8 @@ start:
check_block = TRUE;
while (context->state < SWFDEC_AS_CONTEXT_ABORTED) {
+ // in case of an exception, skip blocks until exception is cleared or we
+ // run out of blocks
while (context->throwing && frame->blocks->len > 0) {
frame->pc = frame->block_end;
swfdec_as_frame_check_block (frame);
diff --git a/libswfdec/s...
2007 Oct 26
0
8 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_interpret.c test/trace
...eption_value;
- context->throwing = FALSE;
- SWFDEC_AS_VALUE_SET_UNDEFINED (&context->throw_value);
+ context->exception = FALSE;
+ SWFDEC_AS_VALUE_SET_UNDEFINED (&context->exception_value);
return TRUE;
}
@@ -858,14 +858,14 @@ start:
while (context->state < SWFDEC_AS_CONTEXT_ABORTED) {
// in case of an exception, skip blocks until exception is cleared or we
// run out of blocks
- while (context->throwing && frame->blocks->len > 0) {
+ while (context->exception && frame->blocks->len > 0) {
frame->pc = frame->...
2007 Sep 13
0
5 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_scope.c libswfdec/swfdec_as_scope.h libswfdec/swfdec_as_script_function.c
...p) (SwfdecAsDebugger *debugger, SwfdecAsContext *context);
- gboolean check_scope; /* some opcodes avoid a scope check */
+ gboolean check_block; /* some opcodes avoid a scope check */
g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context));
if (context->frame == NULL || context->state == SWFDEC_AS_CONTEXT_ABORTED)
@@ -786,19 +786,20 @@ start:
startpc = script->buffer->data;
endpc = startpc + script->buffer->length;
pc = frame->pc;
- check_scope = TRUE;
+ check_block = TRUE;
while (context->state < SWFDEC_AS_CONTEXT_ABORTED) {
- if (pc == endpc) {
- swfdec_as_fr...
2007 Jun 06
0
Branch 'as' - 13 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...xt.h
@@ -93,6 +93,8 @@ void swfdec_as_context_get_time (Swfdec
GTimeVal * tv);
const char * swfdec_as_context_get_string (SwfdecAsContext * context,
const char * string);
+const char * swfdec_as_context_give_string (SwfdecAsContext * context,
+ char * string);
#define swfdec_as_context_abort_oom(context) swfdec_as_context_abort (context, "Out of memory")
void swfdec_as_context_abort (SwfdecAsContext * context,
diff-tree f66b838c176e6a90a0d70df451aaa0db1dfc081f (from dcfd952c19e73011ef91dd111ba944409121a82a)
Author: Benjamin Otte <otte at gnome.org>
Date: Wed Jun 6...
2007 Sep 08
0
9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie.c libswfdec/swfdec_player.c libswfdec/swfdec_video_movie_as.c
...ntext_gc (SwfdecAsContext *c
g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context));
g_return_if_fail (context->frame == NULL);
- g_return_if_fail (context->state != SWFDEC_AS_CONTEXT_NEW);
+ g_return_if_fail (context->state == SWFDEC_AS_CONTEXT_RUNNING);
if (context->state == SWFDEC_AS_CONTEXT_ABORTED)
return;
@@ -412,8 +412,7 @@ void
swfdec_as_context_maybe_gc (SwfdecAsContext *context)
{
g_return_if_fail (SWFDEC_IS_AS_CONTEXT (context));
- if (context->state == SWFDEC_AS_CONTEXT_ABORTED)
- return;
+ g_return_if_fail (context->state == SWFDEC_AS_CONTEXT_RUNNING);
g_ret...
2007 Oct 28
1
9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame_internal.h libswfdec/swfdec_as_object.c libswfdec/swfdec_codec_gst.c test/trace
...Conflicts:
libswfdec/swfdec_as_context.c
diff --cc libswfdec/swfdec_as_context.c
index c47e984,8fcd976..f83632f
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@@ -856,16 -856,16 +856,12 @@@ start
check_block = TRUE;
while (context->state < SWFDEC_AS_CONTEXT_ABORTED) {
- while (context->exception && frame->blocks->len > 0) {
- frame->pc = frame->block_end;
- swfdec_as_frame_check_block (frame);
- pc = frame->pc;
- }
- // in case of an exception, skip blocks until exception is cleared or we
- // r...
2007 Apr 05
0
Branch 'as' - 9 commits - configure.ac libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
...+
+ for (i = 0; i < 256 && frame != NULL; i++) {
+ ret = swfdec_as_object_find_variable (frame->scope, variable);
+ if (ret)
+ break;
+ if (!SWFDEC_IS_AS_FRAME (frame->scope))
+ break;
+ frame = SWFDEC_AS_FRAME (frame->scope);
+ }
+ if (i == 256) {
+ swfdec_as_context_abort (SWFDEC_AS_OBJECT (frame)->context, "Scope recursion limit exceeded");
+ return NULL;
+ }
+ return ret;
+}
+
diff --git a/libswfdec/swfdec_as_frame.h b/libswfdec/swfdec_as_frame.h
index dd627cd..1753137 100644
--- a/libswfdec/swfdec_as_frame.h
+++ b/libswfdec/swfdec_as_frame.h
@@...
2007 Dec 11
0
3 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_movie.c test/trace
...as_context.c b/libswfdec/swfdec_as_context.c
index 320ec0a..25f3958 100644
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@ -802,7 +802,7 @@ start:
if (context->call_depth > 256) {
/* we've exceeded our maximum call depth, throw an error and abort */
swfdec_as_context_abort (context, "Stack overflow");
- return;
+ goto error;
}
/* if security is NULL, the function may not be called */
if (frame->security == NULL) {
commit 122f8a63541ce1e6e88f48bc20437fe3743c537f
Author: Benjamin Otte <otte at gnome.org>
Date: Tue Dec 11 09:53:30 200...
2007 Aug 16
0
Branch 'vivi' - 18 commits - configure.ac doc/swfdec-sections.txt libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_types.h libswfdec/swfdec_player.c vivified/core vivified/ui
...gnome.org>
Date: Thu Aug 16 19:46:24 2007 +0200
don't use parameters as format strings
diff --git a/libswfdec/swfdec_as_context.c b/libswfdec/swfdec_as_context.c
index 1a311e9..96c23e4 100644
--- a/libswfdec/swfdec_as_context.c
+++ b/libswfdec/swfdec_as_context.c
@@ -169,7 +169,7 @@ swfdec_as_context_abort (SwfdecAsContext
{
g_return_if_fail (context);
- SWFDEC_ERROR (reason);
+ SWFDEC_ERROR ("%s", reason);
context->state = SWFDEC_AS_CONTEXT_ABORTED;
}
diff-tree f469392f783d10984d4d6dc36ac03d41b3730bec (from 52bba717bd060881a2f47b202c129017a86bc955)
Author: Benjamin Otte &l...
2007 Oct 22
0
6 commits - doc/Makefile.am doc/swfdec-sections.txt libswfdec-gtk/swfdec_gtk_player.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_internal.h libswfdec/swfdec_player.c libswfdec/swfdec_player.h
..._continue (SwfdecAsContext *context)
+{
+ SwfdecAsContextClass *klass;
+
+ g_return_val_if_fail (SWFDEC_IS_AS_CONTEXT (context), TRUE);
+
+ klass = SWFDEC_AS_CONTEXT_GET_CLASS (context);
+ if (klass->check_continue == NULL)
+ return TRUE;
+ if (!klass->check_continue (context)) {
+ swfdec_as_context_abort (context, "Runtime exceeded");
+ return FALSE;
+ }
+ return TRUE;
+}
+
diff --git a/libswfdec/swfdec_as_context.h b/libswfdec/swfdec_as_context.h
index e04b3e0..73feae4 100644
--- a/libswfdec/swfdec_as_context.h
+++ b/libswfdec/swfdec_as_context.h
@@ -88,6 +88,8 @@ struct _SwfdecAsCo...
2008 Jul 07
11
[Bug 16634] New: swfdec-0.7. 2 not able to play audio in the following Flash file: http://randomfoo.net/ oscon/2002/lessig/free_culture.swf.
http://bugs.freedesktop.org/show_bug.cgi?id=16634
Summary: swfdec-0.7.2 not able to play audio in the following
Flash file:
http://randomfoo.net/oscon/2002/lessig/free_culture.swf.
Product: swfdec
Version: 0.7.x
Platform: Other
URL: http://randomfoo.net/oscon/2002/lessig/free_culture.swf
2007 Dec 02
2
[Bug 13491] New: 5min.com player causes assertion
...Priority: medium
Component: library
AssignedTo: swfdec at lists.freedesktop.org
ReportedBy: amd at store20.com
QAContact: swfdec at lists.freedesktop.org
Getting following assertion with all the 5min.com videos:
SWFDEC: ERROR: swfdec_as_context.c(171): swfdec_as_context_abort: Stack
overflow
Swfdec-CRITICAL **: swfdec_as_frame_return: assertion `frame == context->frame'
failed
aborting...
Program received signal SIGABRT, Aborted.
[Switching to Thread 0x2af7f6a238b0 (LWP 21161)]
0x00002af7ef7a0185 in *__GI_raise (sig=<value optimized out>)
at ../nptl/s...
2007 Sep 03
0
4 commits - libswfdec/swfdec_as_boolean.c libswfdec/swfdec_as_boolean.h libswfdec/swfdec_as_context.c libswfdec/swfdec_as_initialize.as libswfdec/swfdec_as_initialize.h libswfdec/swfdec_as_interpret.c test/trace
...te (SwfdecAsContext *cx, SwfdecAsObject *object)
+{
+ guint i;
+ GSList *walk, *list = NULL;
+
+ for (i = 0; i < 256 && object; i++) {
+ swfdec_as_object_foreach (object, swfdec_action_enumerate_foreach, &list);
+ object = object->prototype;
+ }
+ if (i == 256) {
+ swfdec_as_context_abort (object->context, "Prototype recursion limit exceeded");
+ g_slist_free (list);
+ return;
+ }
+ list = g_slist_reverse (list);
+ i = 0;
+ for (walk = list; walk; walk = walk->next) {
+ /* 8 is an arbitrary value */
+ if (i % 8 == 0) {
+ swfdec_as_stack_ensure_fr...
2007 Aug 15
0
4 commits - libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_super.c libswfdec/swfdec_as_with.c libswfdec/swfdec_movie.c libswfdec/swfdec_net_stream.c libswfdec/swfdec_sprite_movie.c test/trace
...; i < 256 && cur != NULL; i++) {
+ klass = SWFDEC_AS_OBJECT_GET_CLASS (cur);
+ if (klass->get (cur, object, variable, value, flags)) {
+ *pobject = cur;
return TRUE;
}
- object = object->prototype;
+ cur = cur->prototype;
}
if (i == 256) {
swfdec_as_context_abort (object->context, "Prototype recursion limit exceeded");
diff --git a/libswfdec/swfdec_as_object.h b/libswfdec/swfdec_as_object.h
index f82cd9c..265c6cb 100644
--- a/libswfdec/swfdec_as_object.h
+++ b/libswfdec/swfdec_as_object.h
@@ -65,6 +65,7 @@ struct _SwfdecAsObjectClass {
void...
2007 Sep 03
0
20 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_initialize.as libswfdec/swfdec_as_initialize.h libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_number.c
...s->get (cur, object, variable, value, flags)) {
*pobject = cur;
@@ -669,7 +669,7 @@ swfdec_as_object_get_variable_and_flags
}
cur = cur->prototype;
}
- if (i == SWFDEC_AS_OBJECT_PROTOTYPE_RECURSION_LIMIT) {
+ if (i > SWFDEC_AS_OBJECT_PROTOTYPE_RECURSION_LIMIT) {
swfdec_as_context_abort (object->context, "Prototype recursion limit exceeded");
*flags = 0;
*pobject = NULL;
diff-tree 6435df904ac7e33242ad031d2a4dc7bc4caeb213 (from 5d2a00fc0c22c79f793232704c069fca8a757f5e)
Author: Benjamin Otte <otte at gnome.org>
Date: Mon Sep 3 11:39:31 2007 +0200...
2007 Apr 04
0
Branch 'as' - 9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_stack.c libswfdec/swfdec_as_stack.h
...c_as_stack.c b/libswfdec/swfdec_as_stack.c
index 460afc6..86c5356 100644
--- a/libswfdec/swfdec_as_stack.c
+++ b/libswfdec/swfdec_as_stack.c
@@ -93,6 +93,7 @@ swfdec_as_stack_ensure_left (SwfdecAsSta
if ((guint) (stack->end - stack->cur) < n_elements) {
/* FIXME FIXME FIXME */
swfdec_as_context_abort (stack->context, "Out of stack space");
+ stack->cur = stack->end - n_elements;
}
}
diff-tree 45407c201bf8996a5d81c3364157e1b4e59eef4b (from e9461bd45e46778db9ec649c48550b254afd0bc2)
Author: Benjamin Otte <otte@gnome.org>
Date: Wed Apr 4 16:21:10 2007 +0200...