]> jfr.im git - irc/quakenet/newserv.git/blobdiff - chanserv/chancmds/giveowner.c
CHANSERV: GIVEOWNER: Oops, removed crash bug where rcup is referenced before
[irc/quakenet/newserv.git] / chanserv / chancmds / giveowner.c
index 2a19cc7a16bd09bd9720850376314be513dbb78b..7cd7f6101e33687cc1e2aa602182e95fe788ae32 100644 (file)
@@ -58,17 +58,17 @@ int csc_dogiveowner(void *source, int cargc, char **cargv) {
 
   rcup=findreguseronchannel(rcp, target);
 
+  /* Can't promote if already owner */
+  if (rcup && (rcup->flags & QCUFLAG_OWNER)) {
+    chanservstdmessage(sender,QM_GIVEOWNERALREADYOWNER,target->username,cip->name->content);
+    return CMD_ERROR;
+  }
+
   /* You can only promote a master */
   if (!rcup || !(rcup->flags & QCUFLAG_MASTER)) {
     chanservstdmessage(sender,QM_GIVEOWNERNOTMASTER,target->username,cip->name->content);
     return CMD_ERROR;
   }
-  
-  /* Can't promote if already owner */
-  if (rcup->flags & QCUFLAG_OWNER) {
-    chanservstdmessage(sender,QM_GIVEOWNERALREADYOWNER,target->username,cip->name->content);
-    return CMD_ERROR;
-  }
    
   /* Compute ze hash */
   sprintf(hashstr,"%u.%u.%u",rcp->ID,target->ID,rup->ID);