aboutsummaryrefslogtreecommitdiff
path: root/src/presentation.c
diff options
context:
space:
mode:
authorThomas White <taw@bitwiz.org.uk>2013-12-06 22:42:00 +0100
committerThomas White <taw@bitwiz.org.uk>2013-12-06 22:42:00 +0100
commitd2a04c438845b504995ce8518e5340d90eb07f28 (patch)
treeb6d2f29f3de0f7a561720fed9c7758894c711fef /src/presentation.c
parentdd96572950db971746a46964e381b02c1aa25114 (diff)
Avoid writing outside array bounds in insert_slide
Diffstat (limited to 'src/presentation.c')
-rw-r--r--src/presentation.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/presentation.c b/src/presentation.c
index 426783f..d3c9221 100644
--- a/src/presentation.c
+++ b/src/presentation.c
@@ -98,9 +98,12 @@ int insert_slide(struct presentation *p, struct slide *new, int pos)
p->completely_empty = 0;
p->num_slides++;
- for ( i=p->num_slides-1; i>=pos; i-- ) {
- p->slides[i] = p->slides[i-1];
+ if ( p->num_slides > 0 ) {
+ for ( i=p->num_slides-1; i>=pos; i-- ) {
+ p->slides[i] = p->slides[i-1];
+ }
}
+
p->slides[pos] = new;
new->parent = p;