s4-smbtorture: add some paranoia checks for 0 sized devmodes.
authorGünther Deschner <gd@samba.org>
Tue, 18 Jan 2011 23:15:09 +0000 (00:15 +0100)
committerGünther Deschner <gd@samba.org>
Fri, 21 Jan 2011 09:58:20 +0000 (10:58 +0100)
Guenther

source4/torture/rpc/spoolss.c

index 2dd7164338e4961fa56e4a174fadced2babff245..3536b82b50ef496b825edbd0d48ea6c90bda8f61 100644 (file)
@@ -2239,10 +2239,20 @@ static bool test_PrinterInfo_DevModes(struct torture_context *tctx,
 
        devmode = info.info8.devmode;
 
+       if (devmode && devmode->size == 0) {
+               torture_fail(tctx,
+                       "devmode of zero size!");
+       }
+
        torture_assert(tctx, test_GetPrinter_level(tctx, b, handle, 2, &info), "");
 
        devmode2 = info.info2.devmode;
 
+       if (devmode2 && devmode2->size == 0) {
+               torture_fail(tctx,
+                       "devmode of zero size!");
+       }
+
        torture_assert(tctx, test_devicemode_equal(tctx, devmode, devmode2),
                "DM level 8 != DM level 2");
 
@@ -2384,6 +2394,11 @@ static bool test_PrinterInfo_DevMode(struct torture_context *tctx,
 
        devmode = info.info8.devmode;
 
+       if (devmode && devmode->size == 0) {
+               torture_fail(tctx,
+                       "devmode of zero size!");
+       }
+
        if (addprinter_devmode) {
                if (!test_devicemode_equal(tctx, devmode, addprinter_devmode)) {
                        torture_warning(tctx, "current global DM is != DM provided in addprinter");